XML do Konwerter JSON
Błyskawicznie konwertuj dane lub pliki XML do formatu JSON w przeglądarce. Obsługuje niestandardowe wcięcia i obsługuje zagnieżdżone struktury.
Wybierz plik XML
lub przeciągnij i upuść tutaj
Błyskawicznie konwertuj dane lub pliki XML do formatu JSON w przeglądarce. Obsługuje niestandardowe wcięcia i obsługuje zagnieżdżone struktury.
lub przeciągnij i upuść tutaj
XML i JSON to formaty wymiany danych, ale pochodzą z różnych epok sieci. XML, ujednolicony w 1998 roku, został zaprojektowany jako samoopisujący się format znaczników z atrybutami, przestrzeniami nazw i walidacją schematu. JSON pojawił się na początku XXI wieku jako lżejszy format, lepiej dostosowany do środowisk wykonawczych JavaScript i nowoczesnych interfejsów API. Większość nowych internetowych interfejsów API mówi w formacie JSON; wiele starszych systemów — usługi SOAP, kanały RSS, pliki konfiguracyjne, integracje korporacyjne — nadal tworzy kod XML. Konwersja między nimi jest jednym z najczęstszych zadań międzyoperacyjnych we współczesnym rozwoju.
Konwersja nie jest całkowicie bezstratna, ponieważ oba formaty mają różną moc wyrazu. XML ma atrybuty (których JSON nie ma natywnie), rozróżnia treść tekstową od nazw elementów i obsługuje treść mieszaną (elementy zawierające zarówno elementy tekstowe, jak i elementy podrzędne). Prosty model obiektu/tablicy JSON nie może bezpośrednio reprezentować tych funkcji, dlatego konwertery stosują konwencje: atrybuty stają się kluczami z przedrostkiem @, zawartość tekstowa staje się kluczem #text i tak dalej.
Ten konwerter analizuje XML przy użyciu wbudowanego w przeglądarkę DOMParser i przegląda powstałe drzewo DOM, aby wygenerować JSON. Elementy o tej samej nazwie znacznika co rodzeństwo są gromadzone w tablicach; atrybuty trafiają do kluczy specjalnych; przestrzenie nazw i instrukcje przetwarzania są zachowywane, jeśli są obecne. Rezultatem jest czytelny dla człowieka kod JSON, który w rozsądny sposób powraca do formatu XML.
Większość nowoczesnych kodów aplikacji jest wygodniejsza w formacie JSON. JavaScript natywnie analizuje JSON, moduł json Pythona znajduje się w bibliotece standardowej, a praktycznie każdy inny język ma równoważną, pierwszorzędną obsługę JSON. Przetwarzanie XML wymaga importowania dodatkowych bibliotek i pisania większej liczby szablonów. Konwersja przychodzącego XML na JSON przed przetworzeniem jest często najszybszą ścieżką od zewnętrznego źródła XML do wewnętrznej struktury danych.
Oprzyrządowanie również opiera się na JSON. Upiększaczy JSON, walidatorów, walidatorów schematów, języków zapytań (jq, JSONPath) i przeglądarek jest mnóstwo; odpowiedniki XML są rzadsze i często starsze. Praca w JSON odblokowuje bogatszy ekosystem narzędzi.
Wklej XML, pobierz JSON.
DOMParser tworzy XML DOM identyczny z tym, którego przeglądarka używa do stron XHTML. Konwerter przegląda ten DOM rekurencyjnie. Dla każdego elementu tworzy obiekt JSON: atrybuty stają się kluczami poprzedzonymi @ (np. @id, @class); elementy potomne elementu są rekursowane w tej samej strukturze; treść tekstowa, jeśli jest obecna obok dzieci, podlega kluczowi #text.
Powtarzające się elementy podrzędne o tej samej nazwie znacznika są gromadzone w tablicy JSON. Pojedyncze dziecko o danej nazwie pojawia się jako wartość obiektu; wiele elementów podrzędnych pojawia się jako tablica obiektów. Konwencja ta sprawdza się dobrze w praktyce, ale oznacza, że kształt JSON zależy od tego, czy elementy pojawiają się raz, czy wielokrotnie – jest to znana niedoskonałość mapowania XML-na-JSON.
Przestrzenie nazw są zachowywane jako część nazw elementów (prefix:localName). Instrukcje przetwarzania i sekcje CDATA są konwertowane na treść tekstową. Deklaracje XML i DOCTYPE są usuwane z danych wyjściowych JSON, ale nie mają wpływu na dane.