Utilia

Pretvarač JSON-a u XML

Pretvaraj JSON u XML i XML u JSON u pregledniku, uz obradu atributa, ponovljenih elemenata i CDATA. Ništa se ne šalje na poslužitelj.

Pretvorba

Kako koristiti pretvarač JSON-a u XML

  1. Odaberi smjer: JSON → XML ili XML → JSON.
  2. Zalijepi podatke ili klikni Otvori datoteku da učitaš datoteku .json ili .xml (do 10 MB).
  3. Postavi opcije: Uvlačenje (2 razmaka, 4 razmaka, tabulator ili Bez (kompaktno)) za oba smjera; Korijenski element i Dodaj XML deklaraciju za JSON → XML; Pretvori brojeve i booleove vrijednosti za XML → JSON.
  4. Klikni Pretvori. Rezultat se osvježava i dok tipkaš, a greške prikazuju redak i stupac na kojem je problem pronađen.
  5. Kopiraj ili preuzmi rezultat. Zamijeni smjer vraća izlaz u unos da provjeriš povratni put.

Kako se JSON preslikava u XML

XML i JSON nemaju isti podatkovni model pa svaki pretvarač slijedi neku konvenciju. Ovaj alat koristi široko rasprostranjenu konvenciju iz biblioteke fast-xml-parser:

JSON XML
{"title": "Dune"} <title>Dune</title>
{"book": {"@id": "42"}} <book id="42"/>
{"p": {"@lang": "en", "#text": "Hi"}} <p lang="en">Hi</p>
{"tag": ["a", "b"]} <tag>a</tag><tag>b</tag>
  • Ključevi koji počinju sa @ postaju atributi, a ključ #text sadrži tekst elementa koji ima i atribute.
  • Polje postaje ponovljeni element istog naziva.
  • XML dokument treba točno jedan korijenski element. Ako je tvoj JSON objekt s jednim ključem čija je vrijednost objekt, taj ključ postaje korijen. Inače se cijela vrijednost omata u element naveden u Korijenski element (prema zadanim postavkama root), a stavke polja na najvišoj razini postaju elementi <item>.
  • Ključevi koji nisu valjani XML nazivi se ispravljaju: razmaci i simboli postaju _, a naziv koji počinje znamenkom dobiva _ ispred ("1st place" → <_1st_place>).
  • null i prazni nizovi daju prazan element poput <note/>. Posebni znakovi (&, <, >, navodnici) se escapeaju.

Kako se XML preslikava u JSON

  • Atributi postaju ključevi s prefiksom @, a miješani tekst postaje #text.
  • Ponovljeni elementi postaju polje; element koji se pojavljuje jednom postaje jedna vrijednost.
  • CDATA odjeljci spajaju se u tekst, a entiteti poput &amp; dekodiraju se. XML deklaracija, upute za obradu i komentari odbacuju se.
  • Uz Pretvori brojeve i booleove vrijednosti, <price>12.5</price> postaje 12.5, a true postaje booleova vrijednost, dok vrijednosti s početnom nulom, poput 007, ostaju nizovi. Isključi opciju da svaka vrijednost ostane tekst.

Prije pretvorbe XML se provjerava je li ispravno oblikovan: završna oznaka koja nedostaje, neusklađena oznaka ili neescapeani & prijavljuju se s retkom i stupcem.

Česta pitanja

Šalju li se moji podaci na poslužitelj?

Ne. Pretvorba se izvodi u cijelosti u tvom pregledniku. Tvoji XML feedovi, SOAP poruke i konfiguracijske datoteke ostaju na tvom računalu.

Zašto element u jednoj datoteci postaje polje, a u drugoj objekt?

XML ne kaže je li element popis. Kad se <tag> pojavi dvaput, postaje polje; kad se pojavi jednom, postaje jedna vrijednost. Ako tvoj kôd očekuje polje, obradi oba slučaja ili pri testiranju dodaj drugi element.

Zašto povratni put nije uvijek identičan?

Neki podaci nemaju ekvivalent s druge strane: komentari, redoslijed miješanog sadržaja ili razlika između polja s jednim elementom i jedne vrijednosti. Za tipične podatkovne dokumente pretvorba JSON → XML → JSON vraća istu strukturu.

Mogu li koristiti imenske prostore?

Da. Nazivi s prefiksom poput soap:Envelope i atributi poput @xmlns:soap zadržavaju se kakvi jesu u oba smjera.

Provjerava li valjanost prema XSD shemi?

Ne. Provjerava je li XML ispravno oblikovan, ali ga ne provjerava prema DTD-u ni XSD shemi.