Encoders & Utilities

Data Format Converter

Конвертуй між JSON, YAML, TOML, XML і CSV. Автовизначення, pretty-print, inline-помилки. Усе в браузері.

Про цей інструмент

Data Format Converter перекладає між п'ятьма щоденними config- і data-interchange-форматами: JSON, YAML, TOML, XML і CSV. Вставте будь-який, і інструмент авто-детектить input-формат, парсить і re-emit-ить у target-форматі з правильним екрануванням і pretty-printing. Parse-помилки показано inline з line/column, тож ви знаєте точно, що виправити.

Кожен формат має свої quirks. JSON — найнижчий спільний знаменник — strings, numbers, booleans, arrays, objects. YAML додає коментарі, multi-line strings і references. TOML — JSON з config-friendly surface-синтаксисом (sections, comments, dates). XML додає attributes і namespaces, що не транслюються чисто в інші. CSV — табличний і round-trip-ить лише в shape «array of flat objects» source. Інструмент маркує lossy-конверсії перед застосуванням.

Коли використовувати цей інструмент

  • Міграція config-файлів. Helm chart у YAML, що споживатиметься Terraform-модулем, який хоче JSON — вставте і конвертуйте.
  • Швидка інспекція CSV. Вставте spreadsheet-експорт, отримайте чистий JSON-масив для feed у test-suite.
  • YAML / TOML interop. Ті самі config-значення, різні surface-синтаксиси preferences через team-members.
  • Дебаг XML API. Конвертуйте SOAP-відповідь у JSON, щоб прочитати її без потопання в angle-bracket.

Про lossy-конверсії

JSON → YAML і назад — lossless для plain-data. XML → JSON втрачає відмінність між attributes і child-elements (ми мапимо attributes на ключ @attr, що конвенція, не стандарт). CSV → JSON вимагає, щоб перший рядок був заголовками (toggle), і припускає flat-records — nested-об'єкти не представляються. Інструмент попереджає, коли round-trip не буде byte-identical, тож ви можете прийняти або обрати інший target.

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

Чому мій YAML не парситься?

YAML whitespace-чутливий — tabs не дозволені (використовуйте пробіли), і indentation має бути консистентним у блоці. Типові помилки: двокрапка без наступного пробілу (key:value vs key: value); відсутні quotes навколо значень, що містять : або #; tabs змішані з пробілами. Parse-error message включає line/column, тож знайдете offending-символ швидко.

Чи можна конвертувати XML з attributes?

Так — XML-attributes стають ключами з префіксом @ при конверсії в JSON / YAML / TOML. <item id="1">text</item> стає { "item": { "@id": "1", "#text": "text" } }. Це конвенція (використовується Badgerfish, JsonML-варіантами) — не один стандарт. Конверсія назад у XML відбудовує оригінальну структуру. Mixed-content (текст і елементи перемішано) — lossy-випадок; ми його маркуємо.

Як CSV детектить headers?

За замовчуванням перший не-порожній рядок трактується як headers, а решта — як data-rows. Можна вимкнути — тоді кожен рядок стає масивом значень без ключів. Для екзотичних delimiters (semicolon, tab, pipe) ми авто-детектимо з частотності символів першого рядка. UTF-8 BOM стрипається тихо; CRLF і LF line endings обидва приймаються.

Чи мої дані залишають сторінку?

Ні — кожен парсер виконується в JavaScript у вашому браузері. Немає мережевого виклику, немає логування, немає persistence. Можна відключитись від мережі перед вставленням чутливих configs, і інструмент усе одно працює. Для максимальної безпеки з приватними даними збережіть сторінку офлайн (HTML + JS) і запустіть з локального файла.