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

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

Передайте дані JSON програмі, яка розуміє лише XML. Кожен запис стає елементом, кожен ключ — дочірнім тегом, а весь документ розміщується в одному кореневому елементі, назву якого вибираєте ви.

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

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

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

Результат

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

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

  1. 1

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

    Додайте файл .json, наприклад відповідь API, або файл JSON Lines. До 20 файлів, до 95 MB кожен.

  2. 2

    Назвіть кореневий елемент

    У розділі Додаткові налаштування введіть зовнішній тег у полі Кореневий тег XML (за замовчуванням rows) і залиште ввімкненим Форматований вивід, щоб результат мав відступи.

  3. 3

    Конвертуйте й зіставте

    Натисніть Конвертувати в XML і завантажте результат. Перейменуйте теги, якщо схема системи-одержувача очікує інші назви.

Навіщо конвертувати JSON у XML, якщо більшість API перейшли на JSON

JSON переміг у веб-API; його чинна специфікація, RFC 8259 від 2017 року, займає кілька сторінок. XML старший: це Рекомендація W3C з лютого 1998 року, і він не залишив сфери зі суворими контрактами: банківську справу, електронні рахунки, видавництво та державну звітність.

Тому напрям цього перетворення зазвичай диктують гроші чи регулювання. Розробник бере замовлення з JSON API і має надіслати їх у SOAP-сервіс партнера. Магазин зберігає товари в JSON, а сайт порівняння цін хоче XML-фід. Команда зберігає переклади в JSON, а збірка Android очікує strings.xml. Якщо ж потрібна таблиця, JSON у CSV дасть рядки замість елементів.

Системи, які досі приймають лише XML

Де використовують конвертер JSON у XML
ОрганізаціяВимогаДжерело
Вебсервіси SOAPКожен запит передається як XML-конверт; SOAP 1.2 став Рекомендацією W3C у 2003 році—
Google Merchant CenterТоварні фіди приймаються як XML у форматі RSS 2.0 або Atom 1.0, а також як текст із роздільниками—
Електронні рахунки PeppolРахунки обмінюються як XML-документи UBL 2.1 за правилами Peppol BIS Billing 3.0—
Додатки AndroidТекстові ресурси та переклади зберігаються в res/values/strings.xml—

Приклад JSON у XML: два товари

XML, створений із [{"sku":"A-17","price":12.5,"tags":["новинка","знижка"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>новинка</tags>
    <tags>знижка</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

МіфJSON і XML відповідають один одному один до одного, тож конвертація точна.

ФактВ XML є атрибути, змішаний вміст і простори імен, яких немає в JSON, а в JSON є типи, яких немає в XML. Конвертер мусить обрати одну схему відповідності; цей скрізь використовує дочірні елементи.

МіфЧисло 12.5 в XML залишається числом.

ФактXML зберігає символи. 12.5 — це текст, доки схема або програма-читач не визначить його як десяткове число.

Що змінюється, коли JSON стає XML

Варто перевірити три речі. Типи перетворюються на текст, тож true, null і 0 приходять як символи; null зазвичай стає порожнім елементом. Ключі, що не є допустимими назвами XML, треба перейменувати, бо тег не може починатися з цифри чи містити пробіл. І результат більший, адже кожне значення обгорнуте відкривним і закривним тегами, що повторюють ключ.

Більше нічого не губиться. Вкладеність зберігається як вкладені елементи, порядок записів не змінюється, а текст Unicode лишається цілим, бо файл записано в UTF-8. Інші варіанти для структурованих даних, від YAML до SQL, перелічено на сторінці конвертера даних.

Факти про формати JSON і XML

JSON

JavaScript Object Notation

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

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

XML

Extensible Markup Language

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

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

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

Конвертер JSON у XML: поширені запитання

Навіщо XML один кореневий елемент, якщо мій JSON починається з масиву?

Специфікація XML 1.0 вимагає, щоб кожен коректно сформований документ мав рівно один елемент, який містить усе інше. У масиві JSON такої обгортки немає, тому конвертер додає її з назвою з поля Кореневий тег XML і поміщає кожен елемент масиву всередину як <row>.

Що відбувається з ключами JSON на зразок "2024 total" або "unit price"?

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

Як масив JSON усередині запису записується в XML?

Як той самий елемент, повторений для кожного значення. Масив tags із трьома рядками стає трьома елементами <tags> підряд. Порожній масив не залишає нічого, і це одне з небагатьох місць, де під час конвертації JSON у XML втрачається інформація.

Чи пройде XML перевірку за XSD мого партнера?

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

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

Скористайтеся XML у JSON. Зважайте на невеликі розбіжності після подвійного перетворення: XML зберігає кожне значення як текст, тож число чи true, що були в JSON, можуть повернутися рядком.