Перейти к содержимому

Перевести файл

XML в JSON: перевести онлайн

Загрузите файл — через минуту получите JSON

.xml.json

.xml.json
  1. Загрузить
  2. Выбрать формат
  3. Скачать

Загрузка файлов

Положите файл сюда

или

Файлы XML. До 5 МБ, до 20 файлов за раз. Изображение можно вставить из буфера обмена: Ctrl+V.

Дерево тегов превращается в объекты, атрибуты получают префикс @, а текст внутри тега с атрибутами — поле #text. Повторяющиеся теги собираются в массив. Комментарии и инструкции обработки отбрасываются.

Через час на сервере не останется ни присланного файла, ни того, что из него получилось. Предельный размер файла — 5 МБ, срок хранения — час.

Что даёт перевод XML в JSON

Прайс-лист от поставщика, выгрузка из учётной программы или лента товаров нередко приходят файлом XML — с угловыми скобками и тегами. Сервис, куда эти данные нужно загрузить, обычно хочет их в другом виде. Мы переписываем то же самое понятнее, сохраняя всю вложенность: где были подчинённые сведения, там они и останутся.

Как перевести XML в JSON по шагам

  1. Шаг 1

    Сохраните выгрузку

    Скачайте файл от поставщика или из программы. Открывать и править его перед отправкой не нужно.

  2. Шаг 2

    Отправьте его нам

    Перетащите файл в поле загрузки. Несколько выгрузок обрабатываются одним заданием, предел размера действует на каждую отдельно.

  3. Шаг 3

    Решите, нужны ли отступы

    С отступами результат удобно читать глазами, без них файл получается компактнее — так лучше, если он сразу уходит в другой сервис.

  4. Шаг 4

    Посмотрите на структуру

    Откройте результат и проверьте, что повторяющиеся позиции собрались в список, а вложенные сведения остались вложенными.

Правила перевода стоит знать, чтобы потом не удивляться. Дерево тегов превращается во вложенные записи. Одинаковые теги подряд — скажем, десять товаров — собираются в список, поэтому прайс сразу получается перечнем позиций. Дополнительные пометки, которые в исходном файле записаны прямо внутри тега, помечаются в результате значком «собака» — так их видно и не спутать с обычными полями.

Часть содержимого отбрасывается намеренно. Замечания, оставленные для людей, служебные строки и заголовок документа не переезжают — в новом виде для них нет места. Отступы и переносы строк между тегами тоже не переносятся: они относятся к оформлению файла, а не к данным. Само содержимое при этом сохраняется полностью, ни одно значение не теряется.

Из этого следует важное: обратно точь-в-точь тот же файл получить не выйдет, и это не недоработка, а свойство самих способов записи. Список из одной позиции невозможно отличить от одиночной записи, а пометка внутри тега после перевода выглядит почти как обычное поле. Если принимающая сторона проверяет файл по строгому образцу, собирайте его по этому образцу, а не переводом туда и обратно.

Что за форматы: XML и JSON

.xml

Что такое XML

Универсальный язык разметки для описания структурированных данных со строгой проверкой по схеме.

Характеристики формата XML
Полное названиеExtensible Markup Language
РазработчикW3C
Год появления1998
Расширение.xml
Несколько страниц в файлеНет
СхемыXSD, DTD, RELAX NG
Пространства имёнПоддерживаются
ОбработкаXPath, XSLT, XQuery
КодировкаОбъявляется в прологе документа
МногословностьВыше, чем у JSON
Чем открытьVS Code, Notepad++, XMLSpy, JetBrains IDE, Mozilla Firefox, xmllint
Всё о формате XML
.json

Что такое JSON

Текстовый формат структурированных данных — стандарт де-факто для веб-API и настроек.

Характеристики формата JSON
Полное названиеJavaScript Object Notation
РазработчикДуглас Крокфорд
Год появления2001
Расширение.json
Несколько страниц в файлеНет
Типы данныхСтрока, число, логическое, null, массив, объект
СтандартRFC 8259 / ECMA-404
КодировкаUTF-8
КомментарииНе поддерживаются
СхемаОпционально, через JSON Schema
Чем открытьVS Code, Notepad++, Sublime Text, JetBrains IDE, Google Chrome, jq
Всё о формате JSON

Частые вопросы

Почему у некоторых полей появился значок «собака»?

Так помечены пометки, которые в исходном файле записаны прямо внутри тега, рядом с его названием. Без этого значка их нельзя было бы отличить от обычных полей. Само значение при этом не меняется.

Можно ли получить обратно точно такой же файл?

Точную копию — нет. Замечания и служебные строки теряются, а список из одной позиции неотличим от одиночной записи. Обратное направление на сайте есть, но оно даёт правильный файл, а не побайтово тот же самый.

Как обрабатываются одинаковые теги?

Соседние одинаковые теги собираются в список, поэтому перечень товаров или заказов сразу становится перечнем. Если такой тег в файле встретился ровно один раз, он останется одиночной записью — это стоит учитывать тем, кто будет читать файл программой.

Подойдёт ли это для большой выгрузки и сколько ждать?

Обычный прайс-лист или лента товаров обрабатываются за несколько секунд. Предел размера указан под полем загрузки, и его хватает на выгрузки из учётных программ. Через час и исходный файл, и результат исчезают с сервера.

Обратное направлениеJSON в XML
.json.xml
Все конвертеры XML
Все конвертеры JSON

Куда девается ваш файл

Через час его не остаётся
И присланный файл, и то, что из него получилось, лежат на сервере час, а потом стираются. Это происходит само, по расписанию. Если ждать не хочется, рядом со ссылкой на готовый файл есть кнопка, которая убирает всё сразу.
Ссылку нельзя подобрать
Адрес готового файла состоит из длинного случайного набора символов. Перебрать такие адреса и наткнуться на чужой файл невозможно, а нигде на сайте они не перечисляются. Ссылка работает только тот час, пока файл жив.
Есть предел по размеру
Слишком большой файл сервер не примет — сколько именно можно, написано прямо под полем загрузки, и у видео этот предел ниже, чем у фотографий. Ограничение стоит не ради платной подписки: одно тяжёлое задание не должно занимать очередь целиком.