JSON na XML
Konwertuj JSON na równoważny XML, z rozsądną obsługą atrybutów i tablic.
- 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.
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.