Jak przekonwertować JSON do XML
- Wklej JSON lub otwórz plik
.json. XML pojawia się obok na bieżąco podczas pisania. - Ustaw nazwę elementu głównego (lub zostaw pole puste, aby użyć jedynego klucza najwyższego poziomu), prefiks atrybutów i wcięcia.
- Skopiuj XML lub pobierz go jako plik
.xml.
Jak JSON jest mapowany na XML
| JSON | XML |
|---|---|
{"name": "Ada"} | <name>Ada</name> |
{"@id": "7"} | atrybut id="7" elementu nadrzędnego |
{"#text": "Hello"} | treść tekstowa elementu nadrzędnego |
{"tag": ["a", "b"]} | <tag>a</tag><tag>b</tag> |
{"note": null} | <note/> |
{"2nd key": 1} | <_2nd_key>1</_2nd_key> – błędne nazwy są poprawiane |
tablica najwyższego poziomu [1, 2] | <root><item>1</item><item>2</item></root> |
&, <, > w tekście | &, <, > |
JSON vs XML – najważniejsze różnice
JSON ma tablice, liczby, wartości logiczne i null; XML ma tylko elementy, atrybuty i tekst, więc typy nie są zachowywane: 42 i "42" stają się tym samym tekstem 42. XML z kolei ma atrybuty, przestrzenie nazw i treść mieszaną, których brakuje w JSON. Jeśli planujesz później przekonwertować XML z powrotem do JSON, trzymaj się zastosowanych tu popularnych konwencji – @ dla atrybutów i #text dla treści tekstowej – które rozumie większość konwerterów.
Najczęściej zadawane pytania
Jak tablice JSON są konwertowane do XML?
Każdy element tablicy staje się elementem XML nazwanym tak jak klucz tablicy, więc {"book": [ … ]} zamienia się w kilka elementów <book>. Elementy tablicy najwyższego poziomu stają się elementami <item> wewnątrz elementu głównego.
Jak utworzyć atrybuty XML z JSON?
Poprzedź klucz znakiem @: {"user": {"@id": 7, "name": "Ada"}} zamienia się w <user id="7"><name>Ada</name></user>. Prefiks możesz zmienić w opcjach.
Co dzieje się z kluczami, które nie są poprawnymi nazwami XML?
Znaki, których nie mogą zawierać nazwy XML, np. spacje, są zastępowane podkreśleniami, a nazwy zaczynające się od cyfry lub od „xml” otrzymują podkreślenie na początku: "2nd key" zamienia się w <_2nd_key>.
Czy wygenerowany XML jest poprawny?
Tak. Znaki specjalne są zamieniane na encje, każda nazwa elementu jest poprawna, a dokument ma dokładnie jeden element główny, z opcjonalną deklaracją XML na początku.