Як користуватися
- Вставте JSON-об'єкт або спробуйте приклад.
- Увімкніть опцію «Пропускати null-значення», якщо ваш JSON містить null, які вам не потрібні.
- Скопіюйте TOML або завантажте його як файл .toml.
Як це працює
JSON суворо аналізується, а потім записується як TOML 1.0 за допомогою відкритої бібліотеки smol-toml. Вкладені об’єкти стають [tables], масиви об’єктів стають [[arrays of tables]], а ключі, які не є простими словами, беруться в лапки.
TOML не може виразити все, що може JSON. Корінь документа має бути таблицею, тому масив JSON або окреме значення відхиляється. У TOML немає null: за замовчуванням перший null повідомляється разом зі шляхом; натомість можна пропускати null-члени об’єкта. null усередині масиву завжди є помилкою, оскільки його видалення змінило б позиції інших елементів. Масиви, які змішують типи (наприклад, числа та рядки), допустимі в TOML 1.0, але не у старішій версії 0.5, тому вони зазначаються в примітці.
JSON не розрізняє 1 і 1.0, тому цілі числа записуються як цілі числа TOML. Рядки, які виглядають як дати, залишаються рядками. Зворотний напрямок — TOML у JSON.
Приклади
Налаштування застосунку
{"server": {"host": "0.0.0.0", "port": 8080}} перетворюється на таблицю [server] з ключами host і port.
Список обробників
"workers": [{"queue": "mail"}, {"queue": "images"}] перетворюється на два блоки [[workers]].
Поширені запитання
Чому null не дозволено?
У TOML немає значення null. Пропустіть ключ або використайте значення, наприклад порожній рядок, залежно від того, що очікує програма, яка читає файл.
Чому масив чисел і рядків показує примітку?
Масиви зі змішаними типами дозволені з TOML 1.0, але інструменти, які реалізують TOML 0.5, їх відхиляють. Ця примітка допомагає, якщо ваш цільовий інструмент старіший.
Чи залишиться 1.0 float?
Ні. JSON зберігає 1.0 і 1 як одне й те саме число, тому воно стає цілим числом 1. Напишіть 1.5 або відредагуйте TOML, якщо програмі, яка читає файл, потрібен float.
Конфіденційність
Конвертація виконується повністю у вашому браузері. Ваші JSON і TOML не завантажуються та не зберігаються.