Konwerter XML na JSON
Wklej XML i otrzymaj JSON — atrybuty zostają jako klucze z przedrostkiem @, a powtarzające się elementy zbierane są w tablice. Niepoprawny XML zgłaszany jest z wierszem i kolumną.
XML
JSON
O tym narzędziu
XML niesie dwa rodzaje danych, dla których JSON ma tylko jedno miejsce: elementy potomne i atrybuty. Ten konwerter zachowuje oba, poprzedzając nazwy atrybutów znakiem @, dzięki czemu nic nie ginie, a jedno od drugiego nadal da się odróżnić. Powtarzające się elementy rodzeństwa zwijają się w tablicę, bo JSON nie potrafi powtórzyć klucza. Dokument jest walidowany przed parsowaniem, więc niedopasowany znacznik daje numer wiersza zamiast w połowie przekonwertowanego obiektu.
Jak używać
- 1Wklej dokument XML do lewego panelu.
- 2Odczytaj JSON po prawej — atrybuty pojawiają się jako klucze @nazwa.
- 3Przełącz wyjście na Drzewo, aby zwinąć głębokie dokumenty, albo naciśnij Kopiuj.
Częste pytania
›Co dzieje się z atrybutami XML?
Stają się kluczami z przedrostkiem @ na tym samym obiekcie co element, więc <user id="7"> zamienia się w { "user": { "@id": "7" } }. Nic nie jest pomijane, a atrybut od elementu potomnego odróżnisz od razu.
›Dlaczego moje powtarzające się elementy stały się tablicą?
Bo JSON nie ma sposobu na powtórzenie klucza. Jeden <item> to obiekt; dwa lub więcej stają się tablicą obiektów. To jedyne miejsce, w którym ten sam schemat może dać różne kształty JSON-a zależnie od danych.
›Czy konwersja jest odwracalna?
W większości. Elementy, atrybuty i tekst przetrwają podróż w obie strony. Nie przetrwają: komentarze, instrukcje przetwarzania, same deklaracje przestrzeni nazw oraz różnica między pustym elementem a pustym ciągiem.
›Co uchodzi tutaj za niepoprawny XML?
Niezamknięte lub niedopasowane znaczniki, więcej niż jeden element główny, zabłąkane < albo & w tekście oraz wartości atrybutów bez cudzysłowów. Błąd podaje wiersz i kolumnę, więc przejdziesz wprost na miejsce.
›Czy liczby w XML-u są konwertowane?
Tak. Tekst będący poprawną liczbą lub wartością logiczną staje się liczbą albo wartością logiczną JSON zamiast ciągiem w cudzysłowach — zwykle o to właśnie chodzi, gdy wynik trafia do kodu.