{ }JSONKit.tools

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⇄JSON → XML

XML

JSON

Czekam na dane…

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ć

  1. 1Wklej dokument XML do lewego panelu.
  2. 2Odczytaj JSON po prawej — atrybuty pojawiają się jako klucze @nazwa.
  3. 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.