Utilia

JSON til XML-konverterer

Konverter JSON til XML og XML til JSON i nettleseren din, med håndtering av attributter, gjentatte elementer og CDATA. Ingenting lastes opp til en server.

Konvertering

Slik bruker du JSON til XML-konvertereren

  1. Velg retning: JSON → XML eller XML → JSON.
  2. Lim inn dataene, eller klikk Åpne fil for å laste en .json- eller .xml-fil (opptil 10 MB).
  3. Sett valgene: Innrykk (2 mellomrom, 4 mellomrom, tabulator eller Ingen (kompakt)) for begge retninger, Rotelement og Legg til XML-deklarasjonen for JSON → XML, og Konverter tall og boolske verdier for XML → JSON.
  4. Klikk Konverter. Resultatet oppdateres også mens du skriver, og feil viser linjen og kolonnen der problemet ble funnet.
  5. Kopier eller last ned resultatet. Bytt retning legger resultatet tilbake i inndatafeltet slik at du kan kontrollere rundturen.

Hvordan JSON tilordnes XML

XML og JSON har ikke samme datamodell, så hver konverterer følger en konvensjon. Dette verktøyet bruker den utbredte konvensjonen fra biblioteket 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>
  • Nøkler som begynner med @ blir attributter, og nøkkelen #text inneholder teksten i et element som også har attributter.
  • En liste blir et gjentatt element med samme navn.
  • Et XML-dokument trenger nøyaktig ett rotelement. Hvis JSON-en din er et objekt med én nøkkel der verdien er et objekt, blir den nøkkelen roten. Ellers pakkes hele verdien inn i elementet som er oppgitt i Rotelement (root som standard), og elementer i en liste på toppnivå blir <item>-elementer.
  • Nøkler som ikke er gyldige XML-navn, rettes: mellomrom og symboler blir _, og et navn som begynner med et siffer, får en _ foran ("1st place" → <_1st_place>).
  • null og tomme strenger gir et tomt element som <note/>. Spesialtegn (&, <, >, anførselstegn) escapes.

Hvordan XML tilordnes JSON

  • Attributter blir nøkler med prefikset @, og blandet tekst blir #text.
  • Gjentatte elementer blir en liste, mens et element som dukker opp én gang, blir en enkeltverdi.
  • CDATA-seksjoner slås sammen med teksten, og entiteter som &amp; dekodes. XML-deklarasjonen, prosesseringsinstruksjoner og kommentarer droppes.
  • Med Konverter tall og boolske verdier blir <price>12.5</price> til 12.5 og true til en boolsk verdi, mens verdier med innledende null, som 007, forblir strenger. Slå valget av for å beholde alle verdier som tekst.

Før konverteringen kontrolleres XML-en for velformethet: en manglende sluttkode, en kode som ikke passer, eller en & som ikke er escapet, meldes med linje og kolonne.

Ofte stilte spørsmål

Sendes dataene mine til en server?

Nei. Konverteringen kjører helt i nettleseren din. XML-feeder, SOAP-meldinger og konfigurasjonsfiler blir på datamaskinen din.

Hvorfor blir et element en liste i én fil og et objekt i en annen?

XML sier ikke om et element er en liste. Når <tag> dukker opp to ganger, blir det en liste, og når det dukker opp én gang, er det en enkeltverdi. Hvis koden din forventer en liste, må du håndtere begge tilfellene, eller legge til et element til når du tester.

Hvorfor er ikke rundturen alltid identisk?

Noe informasjon har ingen tilsvarende på den andre siden: kommentarer, rekkefølgen i blandet innhold, eller forskjellen på en liste med ett element og en enkeltverdi. For typiske datadokumenter gir JSON → XML → JSON samme struktur tilbake.

Kan jeg bruke navnerom?

Ja. Prefiksnavn som soap:Envelope og attributter som @xmlns:soap beholdes som de er i begge retninger.

Validerer det mot et XSD-schema?

Nei. Det kontrollerer at XML-en er velformet, men validerer den ikke mot en DTD eller et XSD-schema.