Конвертер JSON ↔ YAML ↔ TOML
Перетворюйте між JSON, YAML і TOML з автоматичним визначенням формату
Про цей інструмент
Перетворюйте між 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 і під час перетворення розгортаються чи перетворюються на рядки.