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 изхода, но не засягат данните.