Перейти к содержимому

Конвертер TOML ↔ JSON

Конвертируйте между форматами TOML и JSON и валидируйте синтаксис TOML.

Об этом инструменте

TOML (Tom's Obvious, Minimal Language) и JSON — это два популярных формата конфигурации и данных, широко используемые в разработке программного обеспечения. TOML — это удобочитаемый для человека формат, часто встречающийся в проектах Rust, инструментах Python и современных конфигурациях приложений, тогда как JSON — это универсальный стандарт для обмена данными в веб-API и веб-приложениях. Преобразование между этими форматами необходимо при миграции проектов, обмене конфигурациями между различными системами или работе с инструментами, требующими конкретного формата.

Чтобы использовать этот конвертер, просто вставьте содержимое TOML или JSON в поле ввода, и инструмент автоматически определит формат и преобразует его в другой. Он также проверяет ваши входные данные на синтаксические ошибки и сообщает о любых проблемах перед преобразованием. Используйте этот инструмент при интеграции библиотек третьих сторон, управлении конфигурациями окружения, стандартизации данных для API или обеспечении синтаксической корректности файлов конфигурации.

Конвертер обрабатывает вложенные структуры, массивы, встроенные таблицы и все типы данных TOML и JSON, включая даты и числа с плавающей запятой. Имейте в виду, что комментарии TOML не сохраняются при преобразовании—если сохранение комментариев критически важно, рассмотрите возможность использования контроля версий или отдельной документации. Этот инструмент идеален для разработчиков, инженеров DevOps и всех, кто работает с несколькими форматами конфигурации.

Часто задаваемые вопросы

Реализация кода

# Python 3.11+ has tomllib built-in (read-only)
# For older versions: pip install tomli
# For writing: pip install tomli-w

import tomllib  # Python 3.11+
# import tomli as tomllib  # Python < 3.11

toml_text = """
[package]
name = "my-app"
version = "1.0.0"
authors = ["Alice <alice@example.com>"]

[dependencies]
requests = ">=2.28.0"
flask = { version = ">=3.0", optional = true }

[[server]]
host = "web1.example.com"
port = 8080

[[server]]
host = "web2.example.com"
port = 8081
"""

# Parse TOML string
data = tomllib.loads(toml_text)
print(data["package"]["name"])      # my-app
print(data["dependencies"])          # {'requests': '>=2.28.0', ...}
print(data["server"])                # [{'host': 'web1...', 'port': 8080}, ...]

# Parse from file
with open("pyproject.toml", "rb") as f:  # Must open in binary mode!
    config = tomllib.load(f)

# Writing TOML (requires tomli-w or tomllib doesn't support write)
# pip install tomli-w
import tomli_w
output = tomli_w.dumps({"key": "value", "count": 42})
print(output)
# key = "value"
# count = 42

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.