Darmowy konwerter

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

Lub

O tym narzędziu

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.

Dlaczego warto konwertować XML na JSON

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.

Jak używać

Wklej XML, pobierz JSON.

  1. Wklej lub prześlij plik XML: Wklej tekst XML w obszarze wejściowym lub upuść plik. XML musi być dobrze sformułowany; zniekształcony XML powoduje błąd analizy, a nie zgadywanie.
  2. Konwertuj: DOMParser buduje DOM, konwerter przegląda każdy element, a JSON jest generowany przy użyciu kluczy atrybutów (@attr) i kluczy treści tekstowej (#text), jeśli to konieczne. Elementy rodzeństwa o tej samej nazwie stają się tablicami.
  3. Przejrzyj strukturę: Sprawdź kod JSON, aby upewnić się, że atrybuty, tekst i zagnieżdżenie są mapowane zgodnie z oczekiwaniami. Zastosowane konwencje (np. @ dla atrybutów) są widoczne w wynikach.
  4. Pobierz lub skopiuj: Zapisz jako .json lub skopiuj do schowka.

Typowe przypadki użycia

Szczegóły techniczne

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.

Najlepsze praktyki

Często zadawane pytania

Czy konwersja XML na JSON zmienia treść?
Treść jest zachowywana tak dokładnie, jak to możliwe. Jednak niektóre funkcje specyficzne dla formatu mogą nie mieć bezpośrednich odpowiedników, dlatego mogą wystąpić drobne różnice w formatowaniu.
Po co konwertować dane do formatu JSON?
JSON to standardowy format danych dla internetowych interfejsów API i aplikacji JavaScript. Jest czytelny dla człowieka, szeroko obsługiwany przez języki programowania i ma prostszą składnię niż XML.
Czy konwerter obsługuje zagnieżdżone lub złożone struktury XML?
Tak. Narzędzie poprawnie analizuje zagnieżdżone obiekty, tablice i wszystkie standardowe typy danych XML, zachowując pełną strukturę danych w wynikach JSON.
Czy ta konwersja jest bezpieczna i prywatna?
Tak. Całe przetwarzanie odbywa się lokalnie w Twojej przeglądarce. Twoje dane nigdy nie opuszczają Twojego urządzenia — bez przesyłania na serwer, bez przetwarzania w chmurze, bez gromadzenia danych.
Czy obsługiwane są sekcje CDATA?
Tak. Zawartość CDATA jest konwertowana na zwykły tekst w danych wyjściowych JSON. Samo opakowanie CDATA nie jest zachowywane, ale zawartość tak.
Czy moje dane są przesyłane na serwer?
Nie. DOMParser działa w Twojej przeglądarce; konwersja odbywa się całkowicie na Twoim urządzeniu.
Czy JSON powróci do XML?
Tak, jeśli zastosujesz odwrotną konwencję (narzędzie JSON do XML stosuje te same reguły @attr i #text). Ta podróż w obie strony zachowuje strukturę typowego XML; niektóre przypadki Edge (zamówienie o mieszanej zawartości, instrukcje przetwarzania) mogą nie przetrwać idealnie.
Jaki jest maksymalny rozmiar wejściowy?
Do 50MB. DOMParser jest ograniczony pamięcią przez Twoją przeglądarkę; bardzo duże pliki XML mogą spowolnić lub nie być analizowane.