Конвертер XML в JSON
Конвертируйте XML в JSON и обратно прямо на странице.
- Работает в вашем браузере — текст никуда не отправляется
- Без регистрации и квот, пользуйтесь бесплатно сколько угодно
Как это работает
XML и JSON описывают один и тот же вид структурированных данных несовместимыми способами, а многие системы понимают только один из них. Преобразование между ними — постоянная интеграционная рутина, которую обычно выполняют на данных, не предназначенных для вставки на чужой сервер.
Атрибуты становятся полями с @
В JSON нет понятия атрибутов, поэтому атрибут XML становится полем с префиксом @, а текстовое содержимое рядом с дочерними элементами — полем #text. Это соглашение широко используется и, что важно, обратимо: при обратном преобразовании снова получаются атрибуты, а не лишние элементы.
Повторяющиеся элементы становятся массивами
Два или более соседних элемента с одним именем становятся массивом JSON. Один элемент остаётся одиночным значением — а значит, список, в котором оказался один элемент, преобразуется иначе, чем тот же список из двух. Эта неоднозначность присуща самому XML, а не выбрана здесь, и о ней стоит знать, если вы генерируете код по результату.
В обратную сторону
Ключи JSON становятся именами элементов, а недопустимые символы заменяются, чтобы XML оставался правильно сформированным. Ключи, начинающиеся с @, становятся атрибутами, а #text — текстовым содержимым, поэтому документ, преобразованный в JSON и обратно, выглядит узнаваемо так же.
Сначала проверка
XML разбирается встроенным парсером вашего браузера, а JSON — его парсером JSON, поэтому некорректный ввод сопровождается настоящим сообщением об ошибке, а не искажённым результатом.
Конвертер XML в JSON: вопросы и ответы
Что происходит с атрибутами XML?
Они становятся полями с префиксом @, которые затем корректно преобразуются обратно в атрибуты.
Почему единственный элемент — не массив?
В XML нельзя отличить список из одного элемента от единственного элемента. Эта неоднозначность заложена в самом формате.
Можно ли преобразовать JSON обратно в XML?
Да. Вставьте JSON, и он будет преобразован в обратную сторону.
Загружаются ли мои данные?
Нет. Оба преобразования выполняются в браузере.