Конвертация
Локально · нулевая загрузка

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

Ключевые возможности

01

TOML → JSON

Разбор TOML-конфигов в JSON-объекты.

02

JSON → TOML

Генерация корректного TOML из JSON.

03

Поддержка Table

Корректная обработка [section] и [[array of tables]].

04

Сохранение типов

Строки, целые, float, boolean и datetime корректно маппятся.

05

Импорт файла

Drag-and-drop файлов .toml для разбора.

06

Локальная конвертация

Cargo.toml может содержать private crate sources — локально безопаснее.

07

Дата и время

TOML offset datetime → ISO 8601 JSON strings.

08

Integer / float

Различение TOML integer и float — корректные типы в JSON.

HOW TO USE

Шаги использования

  1. 1

    Вставьте TOML или JSON

  2. 2

    Выберите направление конвертации

  3. 3

    Скопируйте и экспортируйте результат

  4. 4

    При ошибке проверьте сообщение, исправьте синтаксис исходника и повторите

  5. 5

    Отформатируйте результат или экспортируйте для downstream-скриптов

WORKFLOW

Типичный workflow

Полный цикл от импорта до экспорта — единообразное использование TOML ⇄ JSON в команде.

1

Импорт TOML

Вставьте Cargo.toml / pyproject.toml или перетащите файл.

2

Проверка JSON

Tree view для table и array-of-tables structure.

3

Редактирование (опционально)

Измените на стороне JSON, конвертируйте обратно в TOML и откройте PR.

4

Интеграция в pipeline

Скопируйте JSON для внутренних инструментов без поддержки TOML.

USE CASES

Сценарии использования

RU

Rust-разработка

Cargo.toml → JSON, затем просмотр dependencies в tree view.

PY

Python-разработка

pyproject.toml → JSON для чтения CI-скриптами.

DE

DevOps

Унификация TOML-конфигов с JSON-based config tooling.

Техническая документация

Техническая документация

JSON-эквиваленты рядом с TOML-примерами в документации.

RU

Rust-экосистема

Cargo.toml workspace members и features → JSON для CI matrices.

Static

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-данных.

Критерий
JSONSort локально
Традиционные онлайн-инструменты
Конфиденциальность
Полностью локально, нулевая загрузка
Часто требуется загрузка на сервер
Скорость отклика
Миллисекунды, без сетевой задержки
Зависит от сети и нагрузки сервера
Offline
PWA offline
Обычно нужен интернет
Чувствительные данные
JWT/конфиги/логи — без опасений
Риск утечки
Реклама и трекинг
Без рекламы и трекинга
Часто реклама или Analytics
Drag-and-drop файлов
Прямой импорт локальных файлов
Лимиты размера загрузки
Связка инструментов
19 инструментов на одной странице
Обычно отдельный сайт на инструмент
Открытый код
Статические страницы — можно проверить исходники
Закрытый сервер — не аудируется

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/очистку.

Скопировано в буфер обмена