Инструмент для данных и текста

JSON в XML

Конвертируйте JSON в эквивалентный XML с разумной обработкой атрибутов и массивов.

JSON в XML Работает на вашем устройстве
  • Работает в браузере — введённое вами никуда не загружается
  • Без регистрации и квот, пользуйтесь бесплатно сколько угодно

Как это работает

JSON и XML могут выразить почти одно и то же, но по-разному, поэтому любая конвертация требует нескольких решений. Здесь принимаются обычные из них, и вам сообщается, какие именно.

Массивы становятся повторяющимися элементами

В XML нет типа «список». Стандартное соглашение — повторять элемент по одному разу на каждый пункт, поэтому массив из трёх книг превращается в три элемента <book> подряд. Именно этого ожидает почти любой потребитель XML, и именно это здесь получается.

Атрибуты

XML различает атрибуты и дочерние элементы; в JSON такого различия нет. Широко распространённое соглашение — добавлять к ключу префикс @, чтобы он стал атрибутом, и здесь оно соблюдается; его можно отключить, если ваши ключи действительно начинаются с @.

Имена приводятся в допустимый вид

Имена элементов XML не могут содержать пробелы и большинство знаков препинания и не могут начинаться с цифры. В ключах, нарушающих эти правила, недопустимые символы заменяются подчёркиваниями, а при необходимости в начало добавляется подчёркивание. Без этого результат не удалось бы разобрать.

Значения null

Значение null становится пустым элементом с пометкой xsi:nil — это принятый способ сказать «намеренно пусто», а не «отсутствует». Если ваш потребитель не понимает xsi:nil, пустой элемент обычно читается так же.

Обратный путь не точен

JSON отличает число 42 от строки "42", а XML — нет: в XML всё является текстом, если схема не говорит иного. Обратная конвертация не гарантирует восстановления исходных типов.

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

JSON в XML: вопросы

Как обрабатываются массивы?

Как повторяющиеся элементы — это стандартное соглашение XML, поскольку в XML нет типа «список».

Можно ли получить атрибуты?

Да. Добавьте к ключу префикс @, и он станет атрибутом; это можно отключить.

Что происходит с ключами, содержащими пробелы?

Недопустимые символы заменяются подчёркиваниями, потому что в именах XML их быть не может. Без этого результат не удалось бы разобрать.

Можно ли конвертировать обратно в JSON?

Да, с помощью инструмента «XML в JSON», но типы не сохраняются — в XML нет понятия числа в отличие от строки.

Загружаются ли мои данные?

Нет. Конвертация выполняется в вашем браузере.