Инструменты JSON

TOML в JSONпроверьте типы перед выгрузкой

В примере есть таблицы, серверы и большой идентификатор. Даты и целые вне безопасного диапазона по умолчанию становятся строками.

TOML в JSON

JSON в TOML

Ввод TOML

Обработка в браузере. Входные данные не отправляются и не сохраняются.

Результат JSON

Параметры вывода

Предпросмотр соответствия типов

Результат устарел; экспорт недоступен.

TOML в JSON помогает передать конфигурацию в API, тест или скрипт, принимающий JSON. Обычные секции становятся объектами, а заголовки [[table]] создают упорядоченный массив объектов.

Преобразовать TOML — не значит проверить настройки Cargo или Poetry. Этот конвертер TOML переносит структуру и значения, но не определяет смысл полей для приложения и не выполняет зависимости.

Зачем использовать TOML в JSON здесь

Сохранить принадлежность таблиц

TOML в JSON сначала определяет область каждой секции. Подтаблица после [[servers]] относится к текущему серверу. Ключ в кавычках "api.version" остаётся единым именем, а не превращается в дополнительный вложенный объект.

Именованные таблицы становятся вложенными объектами, а две секции массива — двумя объектами в исходном порядке.

Заметить изменение типа

Предпросмотр отдельно показывает числа, большие целые в строках, даты в строках и замены на null. JSON Pointer указывает нужное поле даже в длинном результате, чтобы его тип можно было сверить со схемой получателя.

Значение календаря и длинный идентификатор переходят в отдельные строковые поля в кавычках.

Выбрать правила для программы-получателя

01

Определить тип идентификаторов

Целые за пределами ±9007199254740991 по умолчанию записываются десятичными строками. Если схема требует число, выберите отказ и решите, как изменить поле. Целые за пределами знакового 64-битного диапазона отклоняются всегда.

02

Осознанно заменять специальные числа

TOML допускает inf и nan, но в JSON таких чисел нет. По умолчанию преобразование прекращается. Только явный выбор null разрешает замену, включая переполнение дробного числа. Счётчик null показывает количество заменённых значений.

03

Дождаться актуального результата

Автоматический режим ждёт 350 миллисекунд после изменения. Отключите его для кнопки преобразования или Ctrl/Cmd+Enter. Изменение текста или опций сразу блокирует выгрузку. Предпросмотр добавляет по 50 узлов, максимум 500; файл содержит полный результат.

Как сопоставляются структуры и значения

Таблицы и смешанные массивы

Обычные таблицы и ключи с точками дают вложенные объекты. Массивы таблиц сохраняют порядок и правильного родителя подтаблиц. Пустая таблица становится {}, пустой массив — [], а список с разными типами остаётся смешанным.

Точное чтение целых

Все целые сначала читаются как BigInt, затем выбирается тип вывода. Шестнадцатеричная, восьмеричная и двоичная записи приводятся к десятичной; разделители цифр исчезают. Большие целые в строках сохраняют точные цифры без округления.

Четыре вида даты и времени

Дата-время со смещением сохраняет исходное смещение. Локальным значениям не добавляется часовой пояс; отдельная дата и отдельное время сохраняют форму. Время выводится с миллисекундами, более точные доли секунды отбрасываются.

Позиция синтаксиса или путь значения

Синтаксическая ошибка содержит строку и столбец парсера; строка ввода подсвечивается. Ошибка числовой политики содержит JSON Pointer. В пути / кодируется как ~1, а ~ как ~0, поэтому необычные имена ключей различимы.

Границы представления и проверки

Известные исключения парсера
Используется smol-toml 1.8.0 с целью поддержки TOML 1.1. Это не полная проверка календаря и Unicode: дата 2023-02-30 может нормализоваться в 2023-03-02. Не все недопустимые последовательности Unicode отклоняются.
Ограничения дробных чисел
IEEE 754 может округлять значения или давать 0 при потере слишком малой величины. 1.0 выводится как 1, отрицательный ноль — как 0. Бесконечность, nan и переполнение отклоняются либо заменяются на null согласно выбранной опции.
Исходная запись не сохраняется
Комментарии, пробелы, стиль кавычек, система счисления и запись чисел теряются. Порядок ключей также не гарантируется. В JSON нет типа даты, а большие целые в строках требуют соглашения с получателем; точный обратный переход не обещается.
Один текст с ограничениями
Вход: не более 500 000 символов, глубина 100, 50 000 узлов. Выход: не более 2 000 000 символов. Нет загрузки файлов, получения URL, пакетной обработки или истории. Документ из одних комментариев даёт {}.
Без исправления и миграции настроек
Повторные ключи и неверный синтаксис завершаются ошибкой. Поля не удаляются и не сортируются; схемы Cargo и Poetry не проверяются. Обратная ссылка открывает отдельный инструмент без автоматической передачи текущих данных.

Вопросы о TOML в JSON

Можно ли выполнить обратное преобразование?

Обратное направление доступно в отдельном инструменте JSON в TOML. TOML в JSON превращает даты в строки и теряет комментарии и запись чисел, поэтому исходный документ не обязательно восстановится. Ссылка не переносит введённые данные автоматически.

Проверяется ли синтаксис TOML?

Да, перед выводом выполняется синтаксический разбор с указанием строки и столбца ошибки. Но это не полная проверка календаря, Unicode или требований приложения. Форматирование JSON меняет отступы, а не исправляет ошибки исходной конфигурации.

Какая редакция TOML доступна?

Применяется smol-toml 1.8.0, ориентированный на TOML 1.1. Например, поддерживаются многострочные inline-таблицы. Известные ограничения сохраняются: время имеет точность до миллисекунд, а некоторые неверные даты нормализуются.

Почему после преобразования нет комментариев?

JSON не содержит комментариев в модели данных. Результат создаётся из прочитанных значений без исходных позиций комментариев и пробелов. Сохраните исходный TOML отдельно, если его пояснения должны оставаться доступными.

Почему дата превращается в строку?

У JSON нет отдельного типа даты. Используются ISO-строки: локальным значениям не добавляется пояс, явные смещения сохраняются. Доли секунды точнее миллисекунд отбрасываются; правила чтения таких строк задаёт принимающая программа.

Конфигурация дала неожиданный результат?

Проверить следующую конфигурацию

Используйте TOML в JSON, чтобы сравнить даты и большой идентификатор из примера с типами результата, затем обработайте свой документ.