JSON

JSON ↔ YAML / CSV / XML / TOML

Конвертувати JSON в YAML, CSV, XML чи TOML і навпаки — усе в браузері, без бібліотек.


                    

JSON, YAML, CSV, XML і TOML вирішують ту саму задачу — структуроване представлення даних — різним синтаксисом і з різними компромісами. Інструмент конвертує між усіма цими форматами в обидва боки прямо в браузері.

Як користуватися

Типові сценарії

Що варто памʼятати

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 втрачає вкладену структуру, якщо вона була, — зворотна конвертація поверне лише плаский варіант даних.

Статті: JSON

JSON Formatter: форматування, мінімізація та валідація

Форматування для читабельності, мінімізація для розміру, валідація для коректності — три різні задачі з JSON.

JSONPath: як шукати дані у JSON без ручного парсингу

Як JSONPath дозволяє дістати потрібні значення з великого JSON одним виразом замість ручного обходу.

JSON Diff: чим структурне порівняння відрізняється від текстового

Чому порядок ключів не повинен впливати на порівняння двох JSON-документів.

JSON Schema: як описати й перевірити структуру JSON

Як JSON Schema дозволяє автоматично перевірити, чи відповідають дані очікуваному контракту.

JSON Flatten: перетворення вкладеної структури у плаский список

Як глибоко вкладений JSON перетворюється на плаский список ключів виду user.address.city.

JSON Sort Keys: навіщо сортувати ключі об’єкта

Чому порядок ключів у JSON не регламентований, але сортування все одно буває корисним.

JSON Repair: чому JSON ламається і як це виправити

Типові причини «поламаного» JSON і що автоматичний ремонт може, а що не може виправити.

Mock JSON Generator: навіщо потрібні фейкові дані

Як мок-дані дозволяють почати розробку інтерфейсу ще до того, як готовий бекенд.