UltKit
Зображення11
PDF13
Документи й дані7
Відео6
Аудіо4
Інші інструменти22

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

Перенесіть дані з відповіді SOAP, RSS-фіда, конфігураційного файлу чи експорту зі старої системи в JSON, який JavaScript, Python або no-code інструмент читають без додаткових кроків, і не пишіть парсер вручну.

Конвертер даних

або перетягніть Файли CSV, TSV, TXT … сюди ·

До 95 МБ на файл· До 20 файлів· Видаляються через 30 хв

Результат

Файли обробляються на наших серверах і видаляються через 30 хв.

Як користуватися цим інструментом

  1. 1

    Виберіть файл XML

    Перетягніть файли .xml в область завантаження: до 20 файлів за раз, до 95 MB кожен. Кожен файл конвертується окремо.

  2. 2

    Виберіть читабельний або компактний вигляд

    Параметр Форматований вивід увімкнено: він додає відступи в JSON, щоб його зручно було читати й переглядати в коді. Вимкніть його в розділі Додаткові налаштування, щоб отримати найкоротший однорядковий результат для API-запиту.

  3. 3

    Конвертуйте й використайте JSON

    Натисніть Конвертувати в JSON, завантажте файл .json і відкрийте його у своєму коді або інструменті.

Завантажте XML і натисніть Конвертувати в JSON: елементи стають ключами, повторювані елементи — масивами, а атрибути зберігаються як ключі з префіксом @, тож жодна інформація з тегів не губиться.

Кому потрібен конвертер XML у JSON

XML 1.0 став рекомендацією W3C у лютому 1998 року, і наступне десятиліття саме так спілкувалися системи: вебсервіси SOAP, стрічки RSS і Atom, документи Office, банківські повідомлення, каталоги товарів. Багато з цих систем працюють досі. JSON, описаний у RFC 8259, посів місце в нових вебAPI, бо JavaScript читає його без бібліотеки-парсера і бо він напряму відповідає спискам і словникам майже в кожній мові.

Тож конвертують зазвичай ті, хто поєднує дві епохи. Фронтенд-розробник отримує відповідь SOAP від платіжного чи кур’єрського сервісу й хоче звичайний об’єкт. Автоматизатор у Zapier або Make завантажує XML-стрічку постачальника в потік, який найкраще працює з JSON. Інженер даних переносить конфігурації зі старого Java-застосунку, а студентові потрібна RSS-стрічка у вигляді JSON для навчального проєкту. Усім потрібна та сама структура без кутових дужок.

Конвертувати XML у JSON: як відображаються теги, атрибути й текст

Вхідний XML: замовлення з атрибутом, одним клієнтом і двома товарами
<order id="A-77">
  <customer>Олена Коваль</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Настільна лампа</item>
  <item sku="0108">LED-лампочка</item>
</order>
Як кожна частина наведеного вище замовлення виглядає в JSON
Конструкція XMLПрикладРезультат у JSON
Кореневий елемент<order>Ключ верхнього рівня order
Атрибутid="A-77""@id": "A-77"
Елемент лише з текстом<customer>"customer": "Олена Коваль"
Текст разом з атрибутом<total currency="EUR">…</total>{"@currency": "EUR", "#text": "59.90"}
Повторюваний елементдва теги <item>масив "item": [ … , … ]
Коментар<!-- note -->Відкидається; у JSON немає коментарів

XML

Extensible Markup Language

XML — мова розмітки структурованих даних, опублікована W3C у 1998 році. Вона використовує вкладені теги з атрибутами та підтримує схеми, простори імен і валідацію, що робить її надійною для складних документів. XML лежить в основі RSS-стрічок, SVG, документів Office, карт сайту та багатьох корпоративних і державних обмінів даними. Порівняно з JSON формат багатослівний, але його читає кожна мова програмування і багато інструментів для таблиць.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
1998 · W3C
Конвертер XML

JSON

JavaScript Object Notation

JSON — легкий текстовий формат для структурованих даних, який на початку 2000-х популяризував Дуглас Крокфорд і який стандартизовано як RFC 8259 та ECMA-404. Він передає об’єкти, масиви, рядки, числа, булеві значення та null простим читабельним синтаксисом. Це формат за замовчуванням для вебAPI, конфігураційних файлів і обміну даними між застосунками майже в усіх мовах програмування. У ньому немає вбудованих коментарів, дат і схем, а великі вкладені файли важко читати без переглядача.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
2001 · Douglas Crockford
Конвертер JSON

XML перетворюють на JSON, коли дані зі старішої чи корпоративної системи мають потрапити у вебзастосунок, скрипт або інструмент автоматизації: JSON нативно розбирається в JavaScript і напряму відповідає словникам Python.

Можливості XML, для яких у JSON немає місця

Обидва формати описують дерева, але XML містить те, чого в JSON ніколи не було. Простори імен, визначені W3C у 1999 році, дозволяють змішувати в одному документі словники на кшталт soap: і xsi:; у JSON вони лишаються лише як частина назв ключів. Коментарям та інструкціям обробки немає куди подітися, тож їх відкидають. Змішаний вміст, тобто текст, перемежований дочірніми тегами, як-от абзац XHTML із жирним словом, є коректним XML, але в JSON виглядає незручно, тому XML-документи краще конвертувати в HTML або Markdown, ніж у JSON.

Тонке питання — порядок. XML зберігає послідовність сусідніх елементів, і схема може на неї спиратися; ключі об’єкта JSON за стандартом не впорядковані. Повторювані елементи зберігають порядок усередині свого масиву, чого досить для більшості реальних даних. Якщо XML — це плоский список записів, які мають потрапити в таблицю, а не в код, XML в Excel одразу дає рядки й стовпці, а XML у CSV створює файл для імпорту в базу даних.

Запитання про конвертер XML у JSON

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

Конвертер бачить лише те, що є в документі. Якщо в замовленні три теги item, items стане масивом; якщо тег один, повторювати нічого, тому буде один об’єкт. Код, який читає JSON, має приймати обидві форми або загортати одиночний об’єкт у масив перед обходом циклом.

Як атрибути XML записуються в JSON?

Кожен атрибут стає ключем із символом @ перед назвою, тож currency="EUR" перетворюється на "@currency": "EUR". Якщо елемент має і атрибути, і текст, текст потрапляє в ключ #text поруч з ними. Така угода не дає атрибутам і дочірнім елементам конфліктувати, коли в них однакові назви.

Чи перетворюються числа з XML на числа JSON?

В XML немає власних типів даних: 42 і "42" у тезі виглядають однаково. Тому значення виводяться як рядки, що зберігає поштові індекси та ідентифікатори на кшталт 007. Потрібні вашому коду поля перетворіть на числа після розбору.

Що відбувається з префіксами просторів імен, як-от soap:Envelope?

Префікс лишається частиною назви ключа, тож envelope виглядає як soap:Envelope, а оголошення простору імен — як ключ @xmlns:soap. Так елементи з різних словників не змішуються; якщо ви працюєте лише з одним, приберіть префікси у своєму коді.

Чи можна потім конвертувати JSON назад у XML?

Так, за допомогою JSON в XML. За тією ж угодою про @ і #text атрибути повертаються як атрибути. Коментарі й початкові відступи не повертаються, бо в JSON їх ніколи не було.