Konwerter JSON na XML

Zamień dane JSON na poprawny XML.

Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

Jak przekonwertować JSON na XML

  1. Wklej albo wczytaj swój JSON.
  2. Wpisz nazwę elementu głównego.
  3. Skopiuj XML albo pobierz go.

Przykład: JSON na wejściu, XML na wyjściu

JSONXML
{"name":"Sam"}<root><name>Sam</name></root>
{"@_id":"5","#text":"Widget"}<root id="5">Widget</root>
{"tag":["a","b"]}<root><tag>a</tag><tag>b</tag></root>

Jak klucze JSON stają się nazwami znaczników

  • Znak niedozwolony przez XML w nazwie, na przykład spacja, jest zamieniany na _, więc "first name" staje się first_name.
  • Klucz zaczynający się od cyfry dostaje dodane na początku _, bo nazwy XML nie mogą zaczynać się od liczby.
  • Klucz, który koliduje z już zmienioną nazwą, dostaje dodany numer, więc drugi first_name staje się first_name_2.

Gdzie przydaje się JSON na XML

  • Przekazywanie danych do starszego systemu albo API, które przyjmuje tylko XML.
  • Budowanie małego kanału, na przykład w stylu RSS, na podstawie źródła danych JSON.
  • Sprawdzenie, jak dane JSON wyglądałyby jako treść żądania SOAP albo starszego typu XML.

Ograniczenia, o których warto wiedzieć

  • Wartość null z JSON staje się pustym elementem, bo XML nie ma niczego, co oznacza dokładnie null.
  • Klucze różniące się tylko wielkością liter, na przykład Name i name, stają się dwoma różnymi znacznikami, bo nazwy znaczników XML rozróżniają wielkość liter.
  • Liczby i wartości logiczne są zapisywane w XML jako zwykły tekst. Odbiorca musi sam wiedzieć, jak sparsować je z powrotem do pierwotnego typu.

JSON na XML: najczęstsze pytania

Jak tablice są zapisywane w XML?

Każdy element tablicy zamienia się w powtórzony element nazwany od swojego klucza. Tablica na najwyższym poziomie zostaje owinięta elementami item pod elementem głównym.

Jak utworzyć atrybuty?

Zacznij klucz od @_, na przykład "@_id": 5, a stanie się atrybutem swojego elementu nadrzędnego. Odpowiada to dokładnie wynikowi konwertera XML na JSON.

Co jeśli klucz nie jest poprawną nazwą znacznika XML?

Znaki niedozwolone przez XML w nazwach, na przykład spacje, są zamieniane na _, a nazwa zaczynająca się od cyfry dostaje na początku dodane _. Tak więc "first name" staje się first_name.

Czy mogę przepuścić plik przez XML na JSON i z powrotem?

Tak. JSON wygenerowany przez konwerter XML na JSON z włączonymi atrybutami, razem z kluczami @_ i wartościami #text, konwertuje się tutaj z powrotem na pasujący XML.

Co dzieje się z tablicą JSON zawierającą zwykłe wartości, na przykład listę tagów?

Każda wartość zamienia się we własny powtórzony element nazwany od klucza tablicy, na przykład tablica tags ["a","b"] pod kluczem tag staje się <tag>a</tag><tag>b</tag>.

Czy wynik zawiera deklarację XML?

Tak. Każdy wynik zaczyna się od <?xml version="1.0" encoding="UTF-8"?> w osobnej linii.

Czy znaki specjalne, takie jak < albo &, wewnątrz tekstu są zamieniane na encje?

Tak. Każdy znak, który mógłby zepsuć składnię XML wewnątrz tekstu albo wartości atrybutu, jest automatycznie zamieniany na encję, dzięki czemu wynik zawsze da się poprawnie sparsować z powrotem.

Czy mogę zagnieździć obiekt w tablicy wewnątrz innego obiektu?

Tak. Konwertuje się dowolna głębokość i mieszanka obiektów oraz tablic, a każdy poziom staje się własnym zestawem zagnieżdżonych elementów.

Podobne narzędzia