Narzędzie do danych i tekstu

JSON na XML

Konwertuj JSON na równoważny XML, z rozsądną obsługą atrybutów i tablic.

JSON na XML Działa na twoim urządzeniu
  • Działa w przeglądarce — nic, co wpiszesz, nie jest przesyłane
  • Bez rejestracji, bez limitów, za darmo, tak często, jak chcesz

Jak to działa

JSON i XML potrafią wyrazić większość tych samych rzeczy, ale nie w ten sam sposób, więc każda konwersja wymaga kilku decyzji. To narzędzie podejmuje te zwykłe i mówi ci, jakie były.

Tablice stają się powtarzającymi się elementami

XML nie ma typu listy. Standardową konwencją jest powtórzenie elementu raz dla każdej pozycji, więc tablica trzech książek zamienia się w trzy elementy <book> obok siebie. Tego oczekuje niemal każdy odbiorca XML i to właśnie powstaje.

Atrybuty

XML odróżnia atrybuty od elementów potomnych; JSON nie ma odpowiednika. Powszechnie stosowaną konwencją jest poprzedzenie klucza znakiem @, co oznacza, że ma stać się atrybutem, i tu jest to przestrzegane — można to wyłączyć, jeśli twoje klucze naprawdę zaczynają się od @.

Nazwy są dostosowywane do zasad

Nazwy elementów XML nie mogą zawierać spacji ani większości znaków interpunkcyjnych i nie mogą zaczynać się od cyfry. W kluczach, które łamałyby te reguły, niedozwolone znaki są zastępowane podkreśleniami i w razie potrzeby dodawane jest podkreślenie na początku. Bez tego wynik nie dałby się sparsować.

Wartości null

Wartość null staje się pustym elementem oznaczonym xsi:nil, co jest konwencjonalnym sposobem, by powiedzieć „celowo puste”, a nie „brakujące”. Jeśli twój odbiorca nie rozumie xsi:nil, pusty element jest zwykle odczytywany tak samo.

Droga w obie strony nie jest dokładna

JSON odróżnia liczbę 42 od ciągu „42”, a XML nie — w XML wszystko jest tekstem, chyba że schemat mówi inaczej. Konwersja z powrotem nie przywróci niezawodnie pierwotnych typów.

FAQ

JSON na XML — pytania

Jak są obsługiwane tablice?

Jako powtarzające się elementy, czyli standardowa konwencja XML, ponieważ XML nie ma typu listy.

Czy mogę tworzyć atrybuty?

Tak. Poprzedź klucz znakiem @, a stanie się atrybutem; można to wyłączyć.

Co się dzieje z kluczami ze spacjami?

Niedozwolone znaki zamieniają się w podkreślenia, ponieważ nazwy XML nie mogą ich zawierać. Bez tego wynik nie dałby się sparsować.

Czy mogę przekonwertować z powrotem na JSON?

Tak, za pomocą narzędzia XML na JSON, ale typy nie są zachowywane — XML nie zna różnicy między liczbą a ciągiem znaków.

Czy moje dane są przesyłane?

Nie. Jest konwertowany w twojej przeglądarce.