Utilia

Конвертер JSON у XML

Конвертуйте JSON у XML і XML у JSON у браузері: з атрибутами, повторюваними елементами та CDATA. Нічого не завантажується на сервер.

Напрям конвертації

Як користуватися конвертером JSON у XML

  1. Виберіть напрям: JSON → XML або XML → JSON.
  2. Вставте дані або натисніть Відкрити файл, щоб завантажити файл .json чи .xml (до 10 МБ).
  3. Задайте параметри: Відступ (2 пробіли, 4 пробіли, табуляція або Без відступів (компактно)) для обох напрямів; Кореневий елемент і Додати оголошення XML для JSON → XML; Перетворювати числа й логічні значення для XML → JSON.
  4. Натисніть Конвертувати. Результат також оновлюється під час введення, а помилки показують рядок і стовпець, де знайдено проблему.
  5. Скопіюйте або завантажте результат. Кнопка Змінити напрям повертає результат у поле введення, щоб ви могли перевірити перетворення туди й назад.

Як JSON відображається в XML

XML і JSON мають різні моделі даних, тому кожен конвертер дотримується певної угоди. Цей інструмент використовує широко вживану угоду з бібліотеки fast-xml-parser:

JSON XML
{"title": "Дюна"} <title>Дюна</title>
{"book": {"@id": "42"}} <book id="42"/>
{"p": {"@lang": "uk", "#text": "Привіт"}} <p lang="uk">Привіт</p>
{"tag": ["a", "b"]} <tag>a</tag><tag>b</tag>
  • Ключі, що починаються з @, стають атрибутами, а ключ #text містить текст елемента, який також має атрибути.
  • Масив стає повторюваним елементом з однаковою назвою.
  • Документ XML потребує рівно одного кореневого елемента. Якщо ваш JSON – це об’єкт з одним ключем, значенням якого є об’єкт, цей ключ стає коренем. Інакше все значення обертається в елемент із назвою з поля Кореневий елемент (за замовчуванням root), а елементи масиву верхнього рівня стають елементами <item>.
  • Ключі, що не є коректними іменами XML, виправляються: пробіли й символи стають _, а ім’я, що починається з цифри, отримує на початку _ ("1st place" → <_1st_place>).
  • null і порожні рядки дають порожній елемент, наприклад <note/>. Спеціальні символи (&, <, >, лапки) екрануються.

Як XML відображається в JSON

  • Атрибути стають ключами з префіксом @, а змішаний текст стає #text.
  • Повторювані елементи стають масивом; елемент, що трапляється один раз, стає одним значенням.
  • Розділи CDATA зливаються з текстом, а сутності на кшталт &amp; декодуються. Оголошення XML, інструкції обробки та коментарі відкидаються.
  • З опцією Перетворювати числа й логічні значення <price>12.5</price> стає 12.5, а true – логічним значенням, тоді як значення з початковим нулем, наприклад 007, залишаються рядками. Вимкніть опцію, щоб зберегти кожне значення як текст.

Перед конвертацією XML перевіряється на правильну структуру: відсутній закривальний тег, невідповідний тег чи неекранований & повідомляються з рядком і стовпцем.

Поширені запитання

Чи надсилаються мої дані на сервер?

Ні. Конвертація виконується повністю у вашому браузері. Ваші канали XML, повідомлення SOAP і файли конфігурації залишаються на вашому комп’ютері.

Чому в одному файлі елемент стає масивом, а в іншому – об’єктом?

XML не каже, чи є елемент списком. Коли <tag> трапляється двічі, він стає масивом; коли один раз – одним значенням. Якщо ваш код очікує масив, обробляйте обидва випадки або додайте другий елемент під час тестування.

Чому перетворення туди й назад не завжди дає те саме?

Частина інформації не має еквівалента з іншого боку: коментарі, порядок змішаного вмісту чи різниця між масивом з одного елемента й одним значенням. Для типових документів із даними перетворення JSON → XML → JSON повертає ту саму структуру.

Чи можна використовувати простори імен?

Так. Імена з префіксами на кшталт soap:Envelope та атрибути на кшталт @xmlns:soap зберігаються як є в обох напрямах.

Чи перевіряє інструмент за схемою XSD?

Ні. Він перевіряє, що XML має правильну структуру, але не перевіряє його за DTD чи схемою XSD.