Конвертер TOML у JSON
Конвертуйте TOML у JSON і JSON у TOML у браузері. Підтримуються таблиці, масиви таблиць, дати та 64-бітні цілі числа. Нічого не завантажується на сервер.
Як конвертувати TOML у JSON
- Виберіть напрямок: TOML → JSON (за замовчуванням) або JSON → TOML.
- Вставте дані або натисніть Відкрити файл, щоб завантажити файл
.tomlчи.json(до 10 МБ). - Для TOML → JSON виберіть Відступи (2 або 4 пробіли) і вирішіть, чи позначати Великі цілі як рядки. Для JSON → TOML залиште або зніміть позначку Пропускати значення null.
- Позначте Сортувати ключі, якщо хочете, щоб усі таблиці впорядковувалися за алфавітом.
- Результат оновлюється під час введення; кнопка Конвертувати виконує перетворення знову на вимогу. Помилки показують рядок і стовпець проблеми.
- Скопіюйте або завантажте результат. Змінити напрямок переносить результат у вхідні дані, щоб конвертувати його назад.
TOML і JSON поруч
TOML (Tom’s Obvious Minimal Language) – формат конфігурації, на якому побудовано Cargo.toml у Rust, pyproject.toml у Python, сайти на Hugo й Netlify та багато інструментів командного рядка. Його створено так, щоб люди могли його читати й редагувати, а відображається він прямо на JSON-подібне дерево таблиць (об’єктів), масивів і значень.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
перетворюється на
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Заголовок
[table]стає об’єктом JSON, а ключі з крапками, як-отa.b.c = 1, – вкладеними об’єктами. - Масив таблиць
[[bin]]стає масивом об’єктів JSON. - Вбудовані таблиці
{ x = 1 }і масиви працюють так, як ви очікуєте. Коментарі відкидаються, бо в JSON їх немає.
Чим відрізняються ці два формати
Дати й час. У TOML є чотири вбудовані типи дати й часу; у JSON – жодного. Конвертер записує їх як рядки ISO 8601 і зберігає їхній різновид: дата з часовим зсувом лишається 1979-05-27T07:32:00.000-08:00, локальна дата – 1979-05-27, а локальний час – 07:32:00.000. Дробові секунди зберігаються з точністю до мілісекунди. Під час конвертації назад у TOML виходять звичайні рядки, бо нічого в JSON не позначає їх як дати.
Цілі числа. Цілі числа TOML – знакові 64-бітні, від −9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Числа JavaScript, які використовує більшість парсерів JSON, точні лише до 2^53 (9 007 199 254 740 991). Більші цілі числа TOML записуються з усіма цифрами, що є коректним JSON, але програма, яка читає їх як double, їх округлить; позначте Великі цілі як рядки, щоб цього уникнути. Ціле число поза 64-бітним діапазоном відхиляється, як того вимагає специфікація TOML.
Особливі дійсні числа. inf, -inf і nan не мають форми в JSON, тому записуються як рядки "inf", "-inf" і "nan".
JSON → TOML. Документ TOML завжди є таблицею, тому JSON на верхньому рівні має бути об’єктом. У TOML немає null: за замовчуванням значення null пропускаються, а повідомлення вказує, скільки їх було; зніміть позначку Пропускати значення null, щоб натомість отримати помилку з розташуванням першого з них. JSON не розрізняє 1 і 1.0, тому цілі числа стають цілими числами TOML, а числа, надто великі для 64 біт, – дійсними. У нових браузерах великі цілі числа у вашому JSON зберігають точні цифри.
Поширені запитання
Чи надсилається моя конфігурація кудись?
Ні. Конвертація виконується цілком у вашому браузері, тому ключі API чи секрети у файлах конфігурації ніколи не залишають ваш комп’ютер.
Чому порядок ключів у TOML змінився?
TOML вимагає, щоб прості пари «ключ–значення» в кожній таблиці йшли перед підтаблицями, тому конвертер записує спершу значення, потім [таблиці], а потім [[масиви таблиць]]. Дані ті самі.
Чи зберігаються коментарі TOML?
Ні. У JSON немає коментарів, тому вони втрачаються під час конвертації TOML → JSON, а на зворотному шляху відновлювати нічого.
Яку версію TOML підтримано?
TOML 1.0, зокрема ключі з крапками, вбудовані таблиці, масиви таблиць, шістнадцяткові, вісімкові та двійкові цілі числа й усі чотири типи дати й часу.
Чому моя дата в JSON є рядком?
У JSON немає типу дати. Рядки ISO 8601 – звичайна угода, і більшість мов уміє розбирати їх напряму.
Схожі інструменти
- Конвертер JSON у YAML Конвертуйте JSON у YAML і YAML у JSON у браузері: з якорями, ключами злиття та файлами з кількома документами. Нічого не завантажується на сервер.
- Форматувальник і валідатор JSON Безкоштовний форматувальник і валідатор JSON: форматує, мінімізує та перевіряє JSON у браузері й показує помилки синтаксису з рядком і стовпцем.
- Конвертер JSON у XML Конвертуйте JSON у XML і XML у JSON у браузері: з атрибутами, повторюваними елементами та CDATA. Нічого не завантажується на сервер.