TOML ⇄ JSON
Rust/Python конфиги · Двусторонняя конвертация
Конвертация TOML
Готово
ABOUT
О конвертере TOML ⇄ JSON
Конвертация между TOML и JSON для удобного редактирования конфигов Rust и Python проектов.
Rust Cargo, Python Poetry, Hugo config — TOML повсеместен в экосистемах статически типизированных и скриптовых языков. Локальная конвертация позволяет просмотреть pyproject.toml без cargo или python -c.
DEEP DIVE
Подробнее о TOML ⇄ JSON
TOML (Tom's Obvious Minimal Language) популярен через Rust Cargo, Python Poetry/pyproject.toml, Hugo config и др. Читабельнее JSON, но в JavaScript нет встроенной поддержки. JSONSort конвертирует TOML ↔ JSON локально — без установки Python tomllib или Rust toml crate.
Сохраняет таблицы ([section]) и key/value: TOML tables → JSON objects, array of tables → JSON object arrays — быстрый обзор конфигов Rust/Python.
TOML tables и dotted keys → вложенные JSON objects; [[array of tables]] → JSON object arrays. После конвертации проверьте tree view для [dependencies] — избегайте конфликтов dotted key vs table.
FEATURES
Ключевые возможности
TOML → JSON
Разбор TOML-конфигов в JSON-объекты.
JSON → TOML
Генерация корректного TOML из JSON.
Поддержка Table
Корректная обработка [section] и [[array of tables]].
Сохранение типов
Строки, целые, float, boolean и datetime корректно маппятся.
Импорт файла
Drag-and-drop файлов .toml для разбора.
Локальная конвертация
Cargo.toml может содержать private crate sources — локально безопаснее.
Дата и время
TOML offset datetime → ISO 8601 JSON strings.
Integer / float
Различение TOML integer и float — корректные типы в JSON.
HOW TO USE
Шаги использования
-
1
Вставьте TOML или JSON
-
2
Выберите направление конвертации
-
3
Скопируйте и экспортируйте результат
-
4
При ошибке проверьте сообщение, исправьте синтаксис исходника и повторите
-
5
Отформатируйте результат или экспортируйте для downstream-скриптов
WORKFLOW
Типичный workflow
Полный цикл от импорта до экспорта — единообразное использование TOML ⇄ JSON в команде.
Импорт TOML
Вставьте Cargo.toml / pyproject.toml или перетащите файл.
Проверка JSON
Tree view для table и array-of-tables structure.
Редактирование (опционально)
Измените на стороне JSON, конвертируйте обратно в TOML и откройте PR.
Интеграция в pipeline
Скопируйте JSON для внутренних инструментов без поддержки TOML.
USE CASES
Сценарии использования
Rust-разработка
Cargo.toml → JSON, затем просмотр dependencies в tree view.
Python-разработка
pyproject.toml → JSON для чтения CI-скриптами.
DevOps
Унификация TOML-конфигов с JSON-based config tooling.
Техническая документация
JSON-эквиваленты рядом с TOML-примерами в документации.
Rust-экосистема
Cargo.toml workspace members и features → JSON для CI matrices.
Static sites
Hugo config.toml → JSON для синхронизации с headless CMS.
TIPS
Советы
- После конвертации Cargo.toml проверьте версии crate в [dependencies].
- TOML datetime в JSON обычно как ISO 8601 strings.
- JSON → TOML: глубокая вложенность → dotted keys или subtable.
- Сравнение с YAML-инструментом: Rust — TOML, K8s — YAML, выбирайте по проекту.
- При ошибке конвертации проверьте дубли ключей или незакрытые строки.
- Результат можно отформатировать для удобного Git diff review.
- Cargo workspace.dependencies → JSON, затем path extraction для версий.
- После JSON → TOML не смешивайте dotted key и [table] на одном уровне.
- При ошибке конвертации проверьте дубли ключей или незакрытые строки.
- Сравнение с YAML: выбирайте исходный формат по экосистеме, JSON — мост.
LOCAL VS ONLINE
Локально vs онлайн-инструменты
JSONSort — чистый frontend: почему локальные инструменты лучше для dev-данных.
TROUBLESHOOTING
Типичные ошибки и решения
Частые проблемы и рекомендации — меньше проб и ошибок.
Ошибка дублирующего ключа
Совет:TOML не допускает повторное определение — проверьте конфликт dotted key и table.
Порядок при обратной конвертации изменился
Совет:Функционально эквивалентно; при зависимости от порядка — настройте вручную.
Неверный формат даты
Совет:TOML datetime должен быть с timezone; в JSON — ISO string.
Ключи со спецсимволами
Совет:Ключи с точками в кавычках: "key.with.dots".
FAQ
Частые вопросы
Поддерживается Cargo.toml?
Поддерживается TOML 1.0. Cargo-специфика (workspace) конвертируется по структуре.
JSON → TOML теряет информацию?
Структуры, представимые в JSON, конвертируются. TOML-комментарии в JSON-направлении теряются.
Чем отличается от YAML-инструмента?
TOML и YAML — разный синтаксис; выбирайте инструмент по формату исходного файла.
Поддерживается inline table?
Да, { key = "value" } → вложенный JSON object.
Комментарии потерялись?
TOML-комментарии не попадают в JSON — храните .toml как источник комментариев.
Данные уходят на сервер?
Нет. Все инструменты JSONSort работают локально в браузере.
Нужна регистрация или установка?
Нет. Откройте страницу — без аккаунта и клиента; поддержка PWA offline.
Какой максимальный размер файла?
Зависит от памяти браузера; обычно несколько MB. Огромные — разбейте или используйте merge/очистку.