onlinetools.dev

Конвертер JSON ↔ YAML ↔ TOML

Перетворюйте між JSON, YAML і TOML з автоматичним визначенням формату

Працює локально
loading…
Про цей інструмент

Перетворюйте між JSON, YAML і TOML у будь-якому напрямку. Вихідний формат визначається автоматично, поки ви вставляєте: дужки натякають на JSON, двокрапки після ключів — на YAML, [таблиці] — на TOML, а для неоднозначного введення є ручний вибір. Перетворення проходить через справжній розбір, тож вивід гарантовано коректний, а не є порядковим перетворенням тексту.

Кожен формат має свої сильні сторони: JSON — для API й машинного обміну, YAML — для конфігурації, яку редагують люди (Kubernetes, конвеєри CI), TOML — для добре типізованих конфігів (Cargo, pyproject). Перенесення даних між ними вручну запрошує помилки з відступами й лапками, які це перетворення усуває.

Конвертер чесний щодо обмежень форматів: TOML не має масивів верхнього рівня й не має null, тож під час перетворення таких документів він пояснює чому, а не викидає дані мовчки.

Часті запитання

Чи переживуть коментарі перетворення?
Ні — JSON не має синтаксису коментарів, а перетворення йде через розібрану структуру даних, яка коментарів не несе. Ланцюжок YAML → JSON → YAML втрачає коментарі безповоротно; зберігайте оригінальний файл, коли коментарі важливі.
Чому моє YAML-значення «no» стало false?
YAML 1.1 вважає yes/no/on/off булевими значеннями, і код країни NO через це славнозвісно стає false. Тутешній парсер дотримується YAML 1.2 (лише true/false), але файли, написані для старіших парсерів, усе одно можуть здивувати. Беріть у лапки рядки, схожі на булеві значення, числа чи дати.
Чому мій JSON не перетворюється на TOML?
TOML вимагає таблицю (об’єкт) на верхньому рівні — масив чи голий скаляр не можуть бути документом TOML — і не має null. Перебудуйте дані (загорніть масив у ключ, приберіть або замініть null) — і перетворення відбудеться.
Чи є YAML надмножиною JSON?
Практично так — YAML 1.2 розбирає майже всі документи JSON, і саме тому вставляння JSON у конфіг YAML зазвичай працює. Зворотне неправильне: якорі YAML, багаторядкові скаляри й теги не мають відповідників у JSON і під час перетворення розгортаються чи перетворюються на рядки.
Пов’язані інструменти