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

Конвертировать TOML в формат JSON — Numio

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

Просмотр таблиц и массивов таблиц конфигурационного файла в виде JSON-объектов и массивов.

Converted in your browser. Comments are omitted. Non-finite numbers and unsafe integers are rejected instead of silently losing their values.

Load an example (replaces your input)

TOML

JSON

Когда пригодится

  • Просмотр таблиц и массивов таблиц конфигурационного файла в виде JSON-объектов и массивов.
  • Передача TOML-файла с комментариями инструменту, который принимает только JSON.

Как пользоваться

  1. Вставьте TOML или загрузите пример (настройки и таблицы, массивы таблиц, даты и многострочные строки).
  2. Изучите JSON справа: [server] становится объектом, а [[products]] — массивом объектов.
  3. При ошибке ищите дублирующиеся ключи и проблемы с кавычками. Перед копированием проверьте строки, числа и даты.

Ввод TOML

[[products]]
code = "001"
name = "Notebook"

[[products]]
code = "002"
name = "Pen"

Вывод JSON

{
  "products": [
    { "code": "001", "name": "Notebook" },
    { "code": "002", "name": "Pen" }
  ]
}

Подробности и ограничения

Преобразование выполняется в браузере. Комментарии, отступы и стили кавычек TOML не переносятся.

В JSON нет типа даты, поэтому даты становятся строками; запись часового пояса может нормализоваться. Если значения должны остаться неизменными, берите их в кавычки в TOML.

inf и nan в JSON не существуют, а целые числа точны только до ±9,007,199,254,740,991. Такие значения вызывают ошибку вместо null или округлённых цифр; записывайте большие ID строками.

Проверяется только синтаксис TOML. Обязательные поля Cargo.toml, pyproject.toml и других форматов не валидируются.

FAQ

Можно ли преобразовать wrangler.toml в JSON?

Для структуры — да: таблицы становятся объектами, а [[arrays]] — массивами объектов с теми же именами ключей. Комментарии отбрасываются, поэтому перед заменой файла сверьте результат с документацией Cloudflare по конфигурации Wrangler.

Как преобразовать TOML в JSON на Python?

В Python 3.11 и новее есть tomllib: python -c "import json,sys,tomllib; print(json.dumps(tomllib.load(open(sys.argv[1],'rb')), indent=2, default=str))" config.toml. default=str превращает даты в строки, как и эта страница.

Можно ли сохранить ведущие нули?

Запишите значение строкой, например code = "001". Берите в кавычки идентификаторы, которые не должны считаться числами.

Почему большое число вызывает ошибку?

Числа JavaScript не могут точно хранить любое большое целое, а в JSON нет inf и nan. Преобразование останавливается, а не меняет значение; записывайте точные ID в TOML строками.

Спецификации и справка