XML до Конвертер JSON
Миттєво перетворюйте дані або файли XML у формат JSON у вашому браузері. Підтримує спеціальні відступи та обробляє вкладені структури.
Виберіть файл XML
або перетягніть сюди
Миттєво перетворюйте дані або файли XML у формат JSON у вашому браузері. Підтримує спеціальні відступи та обробляє вкладені структури.
або перетягніть сюди
XML і JSON є форматами обміну даними, але походять з різних епох Інтернету. XML, стандартизований у 1998 році, був розроблений як самоописний формат розмітки з атрибутами, просторами імен і перевіркою схеми. JSON з’явився на початку 2000-х років як більш легкий формат, який краще підходить для середовища виконання JavaScript і сучасних API. Більшість нових веб-API використовують JSON; багато старих систем — служби SOAP, канали RSS, конфігураційні файли, корпоративні інтеграції — досі створюють XML. Перетворення між ними є одним із найпоширеніших завдань взаємодії в сучасній розробці.
Перетворення не є ідеальним без втрат, оскільки два формати мають різну виразну силу. XML має атрибути (яких немає у JSON), розрізняє текстовий вміст і імена елементів і підтримує змішаний вміст (елементи, що містять і текст, і дочірні елементи). Проста модель об’єкта/масиву JSON не може безпосередньо представити ці функції, тому конвертери застосовують угоди: атрибути стають ключами з префіксом @, текстовий вміст стає ключем #text і так далі.
Цей конвертер аналізує XML за допомогою вбудованого в браузер DOMParser і проходить отримане дерево DOM для створення JSON. Елементи з тим же іменем тегу, що й рідні сестри, збираються в масиви; атрибути переходять у спеціальні ключі; простори імен та інструкції з обробки зберігаються, якщо вони присутні. Результатом є читабельний для людини JSON, який повертає назад до XML.
Більшість сучасних програмних кодів більш зручні з JSON. JavaScript аналізує JSON нативно, модуль json Python є в стандартній бібліотеці, і практично кожна інша мова має еквівалентну першокласну підтримку JSON. Обробка XML вимагає імпорту додаткових бібліотек і написання більшої шаблонної форми. Перетворення вхідного XML у JSON перед обробкою часто є найшвидшим шляхом від зовнішнього каналу XML до внутрішньої структури даних.
Інструменти також спираються на JSON. JSON-прикрашувачі, валідатори, валідатори схем, мови запитів (jq, JSONPath) і переглядачі є в достатку; еквівалентів XML менше і вони часто старіші. Робота в JSON відкриває багатшу екосистему інструментів.
Вставте XML, отримайте JSON.
DOMParser створює XML DOM, ідентичний тому, який браузер використовує для сторінок XHTML. Конвертер обходить цей DOM рекурсивно. Для кожного елемента створюється об’єкт JSON: атрибути стають ключами з префіксом @ (наприклад, @id, @class); дочірні елементи елемента повертаються до тієї самої структури; текстовий вміст, якщо він присутній разом із дочірніми елементами, живе під ключем #text.
Повторювані дочірні елементи з однаковою назвою тегу збираються в масив JSON. Один дочірній елемент заданого імені з’являється як значення об’єкта; кілька дочірніх елементів відображаються як масив об’єктів. Ця конвенція добре працює на практиці, але означає, що форма JSON залежить від того, чи з’являються елементи один раз чи кілька разів — це відомий недолік відображення XML-JSON.
Простори імен зберігаються як частина імен елементів (префікс:localName). Інструкції з обробки та розділи CDATA перетворюються на текстовий вміст. Оголошення XML і DOCTYPE видаляються з вихідних даних JSON, але не впливають на дані.