Безкоштовний конвертер

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

Миттєво перетворюйте дані або файли XML у формат JSON у вашому браузері. Підтримує спеціальні відступи та обробляє вкладені структури.

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

або перетягніть сюди

Або

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

XML і JSON є форматами обміну даними, але походять з різних епох Інтернету. XML, стандартизований у 1998 році, був розроблений як самоописний формат розмітки з атрибутами, просторами імен і перевіркою схеми. JSON з’явився на початку 2000-х років як більш легкий формат, який краще підходить для середовища виконання JavaScript і сучасних API. Більшість нових веб-API використовують JSON; багато старих систем — служби SOAP, канали RSS, конфігураційні файли, корпоративні інтеграції — досі створюють XML. Перетворення між ними є одним із найпоширеніших завдань взаємодії в сучасній розробці.

Перетворення не є ідеальним без втрат, оскільки два формати мають різну виразну силу. XML має атрибути (яких немає у JSON), розрізняє текстовий вміст і імена елементів і підтримує змішаний вміст (елементи, що містять і текст, і дочірні елементи). Проста модель об’єкта/масиву JSON не може безпосередньо представити ці функції, тому конвертери застосовують угоди: атрибути стають ключами з префіксом @, текстовий вміст стає ключем #text і так далі.

Цей конвертер аналізує XML за допомогою вбудованого в браузер DOMParser і проходить отримане дерево DOM для створення JSON. Елементи з тим же іменем тегу, що й рідні сестри, збираються в масиви; атрибути переходять у спеціальні ключі; простори імен та інструкції з обробки зберігаються, якщо вони присутні. Результатом є читабельний для людини JSON, який повертає назад до XML.

Навіщо конвертувати XML у JSON

Більшість сучасних програмних кодів більш зручні з JSON. JavaScript аналізує JSON нативно, модуль json Python є в стандартній бібліотеці, і практично кожна інша мова має еквівалентну першокласну підтримку JSON. Обробка XML вимагає імпорту додаткових бібліотек і написання більшої шаблонної форми. Перетворення вхідного XML у JSON перед обробкою часто є найшвидшим шляхом від зовнішнього каналу XML до внутрішньої структури даних.

Інструменти також спираються на JSON. JSON-прикрашувачі, валідатори, валідатори схем, мови запитів (jq, JSONPath) і переглядачі є в достатку; еквівалентів XML менше і вони часто старіші. Робота в JSON відкриває багатшу екосистему інструментів.

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

Вставте XML, отримайте JSON.

  1. Вставте або завантажте свій XML: Вставте текст XML у область введення або перетягніть файл. XML має бути правильно сформованим; неправильно сформований XML створює помилку аналізу, а не припущення.
  2. конвертувати: DOMParser створює DOM, конвертер обходить кожен елемент, а JSON генерується за допомогою ключів атрибутів (@attr) і ключів текстового вмісту (#text), де це необхідно. Однойменні елементи стають масивами.
  3. Перегляньте структуру: Перевірте JSON, щоб переконатися, що атрибути, текст і вкладення зіставляються належним чином. Використані угоди (наприклад, @ для атрибутів) видно у виводі.
  4. Завантажити або скопіювати: Збережіть як .json або скопіюйте в буфер обміну.

Загальні випадки використання

Технічні деталі

DOMParser створює XML DOM, ідентичний тому, який браузер використовує для сторінок XHTML. Конвертер обходить цей DOM рекурсивно. Для кожного елемента створюється об’єкт JSON: атрибути стають ключами з префіксом @ (наприклад, @id, @class); дочірні елементи елемента повертаються до тієї самої структури; текстовий вміст, якщо він присутній разом із дочірніми елементами, живе під ключем #text.

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

Простори імен зберігаються як частина імен елементів (префікс:localName). Інструкції з обробки та розділи CDATA перетворюються на текстовий вміст. Оголошення XML і DOCTYPE видаляються з вихідних даних JSON, але не впливають на дані.

Найкращі практики

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

Чи змінює вміст перетворення XML на JSON?
Вміст збережено максимально точно. Проте деякі особливості формату можуть не мати прямих еквівалентів, тому можуть виникнути незначні відмінності у форматуванні.
Навіщо конвертувати дані у формат JSON?
JSON — стандартний формат даних для веб-інтерфейсів API і програм JavaScript. Він зручний для читання, широко підтримується мовами програмування та має простіший синтаксис, ніж XML.
Чи обробляє конвертер вкладені або складні структури XML?
так Інструмент правильно аналізує вкладені об’єкти, масиви та всі стандартні типи даних XML, зберігаючи повну структуру даних у вихідних даних JSON.
Чи це перетворення безпечне та конфіденційне?
так Уся обробка відбувається локально у вашому браузері. Ваші дані ніколи не залишають ваш пристрій — без завантаження на сервер, без обробки в хмарі, без збору даних.
Чи обробляються розділи CDATA?
так Вміст CDATA перетворюється на звичайний текст у вихідних даних JSON. Сама упаковка CDATA не зберігається, але вміст зберігається.
Чи завантажуються мої дані на сервер?
Ні. DOMParser працює у вашому браузері; перетворення відбувається повністю на вашому пристрої.
Чи повернеться JSON до XML?
Так, якщо ви використовуєте зворотну угоду (інструмент JSON у XML дотримується тих самих правил @attr і #text). Передача туди й назад зберігає структуру типового XML; деякі граничні випадки (порядок змішаного вмісту, інструкції з обробки) можуть не зберігатися ідеально.
Який максимальний розмір введення?
До 50 Мб. DOMParser обмежений пам’яттю вашого браузера; дуже великі XML-файли можуть уповільнюватися або не аналізуватися.