JSON
JSON ↔ YAML / CSV / XML / TOML
Конвертувати JSON в YAML, CSV, XML чи TOML і навпаки — усе в браузері, без бібліотек.
Конвенція: атрибути — ключі з "@" (@id → атрибут id), текст мішаного елемента — ключ "#text", повторювані діти — масив.
JSON, YAML, CSV, XML і TOML вирішують ту саму задачу — структуроване представлення даних — різним синтаксисом і з різними компромісами. Інструмент конвертує між усіма цими форматами в обидва боки прямо в браузері.
Як користуватися
- Вставте дані у вихідному форматі й оберіть цільовий формат — конвертація відбувається одразу.
- Для CSV перший рядок автоматично трактується як заголовки колонок.
- Результат можна одразу скопіювати чи завантажити як файл із відповідним розширенням.
Типові сценарії
- Конвертація конфігурації застосунку з YAML у JSON (чи навпаки) під конкретний фреймворк.
- Перетворення експорту з таблиці (CSV) у JSON для завантаження в базу даних чи API.
- Читання TOML-конфігурації (Rust/Python-екосистема) у більш звичному форматі JSON.
Що варто памʼятати
JSON ↔ YAML і JSON ↔ TOML зазвичай оборотні без втрат, бо обидва формати підтримують вкладеність так само, як JSON.
JSON → CSV втрачає вкладену структуру: CSV — плаский табличний формат, тому вкладені обʼєкти й масиви доводиться або розгортати в окремі колонки, або серіалізувати в текст.
Стаття про цей інструмент: JSON ↔ YAML/CSV/XML/TOML: коли і навіщо конвертувати
Часті запитання
Чому конвертація в CSV іноді втрачає структуру?
CSV за своєю природою плаский і табличний формат, тому вкладені об’єкти чи масиви неможливо представити напряму — їх потрібно спершу розгорнути (flatten) у прості пари "ключ: значення".
Як інструмент визначає, що стане атрибутом XML, а що — елементом?
За конвенцією: ключі з префіксом "@" стають атрибутами (наприклад, @id → атрибут id), а ключ "#text" використовується для текстового вмісту змішаних елементів. Це домовленість цього інструмента, а не універсальний стандарт XML.
Чи передаються дані на сервер під час конвертації?
Ні, конвертація в YAML, CSV, XML і TOML відбувається повністю у браузері на JavaScript, без сторонніх бібліотек і без сервера.
Чому число чи рядок іноді змінюється після конвертації в YAML?
YAML-парсер намагається вгадати тип значення без лапок: "1.20" може стати числом 1.2 (втративши кінцевий нуль), а "NO" — булевим false за старими правилами YAML 1.1. Щоб уникнути цього, значення, які мають лишатися рядком, варто явно брати в лапки.
Чи можна конвертувати в зворотному напрямку без втрат?
JSON ↔ YAML і JSON ↔ TOML зазвичай оборотні без втрат, бо обидва формати підтримують вкладеність так само, як JSON. JSON → CSV → JSON втрачає вкладену структуру, якщо вона була, — зворотна конвертація поверне лише плаский варіант даних.