Gratis omformer

XML til JSON-konverterer

Konverter XML-data eller filer til JSON-format umiddelbart i nettleseren din. Støtter tilpasset innrykk og håndterer nestede strukturer.

Velg XML-fil

eller dra og slipp her

Eller

Om dette verktøyet

XML og JSON er begge datautvekslingsformater, men kommer fra forskjellige tidsepoker på nettet. XML, standardisert i 1998, ble designet som et selvbeskrivende markup-format med attributter, navneområder og skjemavalidering. JSON dukket opp på begynnelsen av 2000-tallet som et lettere format som var bedre egnet til JavaScript-kjøretider og moderne APIer. De fleste nye web-API-er snakker JSON; mange eldre systemer – SOAP-tjenester, RSS-feeder, konfigurasjonsfiler, bedriftsintegrasjoner – produserer fortsatt XML. Konvertering mellom dem er en av de vanligste interop-oppgavene i moderne utvikling.

Konverteringen er ikke helt tapsfri fordi de to formatene har ulik uttrykkskraft. XML har attributter (som JSON ikke har naturlig), skiller mellom tekstinnhold og elementnavn, og støtter blandet innhold (elementer som inneholder både tekst og underordnede elementer). JSONs enkle objekt-/matrisemodell kan ikke representere disse funksjonene direkte, så omformere bruker konvensjoner: attributter blir @-prefiksnøkler, tekstinnhold blir en #tekstnøkkel, og så videre.

Denne omformeren analyserer XML ved å bruke nettleserens innebygde DOMParser og går gjennom det resulterende DOM-treet for å produsere JSON. Elementer med samme merkenavn som søsken samles inn i matriser; attributter går inn i spesielle nøkler; navneområder og behandlingsinstruksjoner er bevart når de finnes. Resultatet er menneskelesbar JSON som går rimelig tilbake til XML.

Hvorfor konvertere XML til JSON

Den mest moderne applikasjonskoden er mer komfortabel med JSON. JavaScript analyserer JSON naturlig, Pythons json-modul er i standardbiblioteket, og praktisk talt alle andre språk har tilsvarende førsteklasses JSON-støtte. XML-behandling krever import av flere biblioteker og skriving av mer standard. Konvertering av innkommende XML til JSON før behandling er ofte den raskeste veien fra ekstern XML-feed til intern datastruktur.

Verktøy støtter også JSON. JSON-forskjønnere, validatorer, skjemavalidatorer, spørringsspråk (jq, JSONPath) og seere er rikelig; XML-ekvivalentene er færre og ofte eldre. Å jobbe i JSON låser opp et rikere økosystem av verktøy.

Slik bruker du det

Lim inn XML, hent JSON.

  1. Lim inn eller last opp XML: Lim inn XML-tekst i inndataområdet eller slipp en fil. XML-en må være godt utformet; misformet XML produserer en analysefeil i stedet for en gjetning.
  2. Konverter: DOMParser bygger en DOM, omformeren går gjennom hvert element, og JSON genereres ved hjelp av attributtnøkler (@attr) og tekstinnholdsnøkler (#text) der det er nødvendig. Søskenelementer med samme navn blir arrays.
  3. Gjennomgå strukturen: Inspiser JSON for å bekrefte at attributter, tekst og nesting er kartlagt som forventet. Konvensjonene som brukes (f.eks. @ for attributter) er synlige i utdataene.
  4. Last ned eller kopier: Lagre som .json eller kopier til utklippstavlen.

Vanlige brukstilfeller

Tekniske detaljer

DOMParser produserer en XML DOM som er identisk med det nettleseren bruker for XHTML-sider. Konverteren går denne DOM rekursivt. For hvert element opprettes et JSON-objekt: attributter blir nøkler prefiksert med @ (f.eks. @id, @class); elementets underordnede elementer er gjentatt i samme struktur; tekstinnhold, når det er til stede sammen med barn, lever under en #tekstnøkkel.

Gjentatte underordnede elementer med samme tagnavn samles inn i en JSON-matrise. Et enkelt barn med et gitt navn vises som en objektverdi; flere barn vises som en rekke objekter. Denne konvensjonen fungerer bra i praksis, men betyr at JSON-formen avhenger av om elementer vises én eller flere ganger - en kjent ufullkommenhet ved XML-til-JSON-kartlegging.

Navneområder er bevart som en del av elementnavn (prefiks:lokalnavn). Behandlingsinstruksjoner og CDATA-seksjoner konverteres til tekstinnhold. XML-erklæringer og DOCTYPE-er fjernes fra JSON-utdataene, men påvirker ikke dataene.

Beste praksis

Ofte stilte spørsmål

Endrer konvertering av XML til JSON innholdet?
Innholdet bevares så nøyaktig som mulig. Imidlertid kan det hende at enkelte formatspesifikke funksjoner ikke har direkte ekvivalenter, så det kan oppstå mindre formateringsforskjeller.
Hvorfor konvertere data til JSON-format?
JSON er standard dataformat for web-APIer og JavaScript-applikasjoner. Den er lesbar for mennesker, støttes bredt av programmeringsspråk og har en enklere syntaks enn XML.
Håndterer omformeren nestede eller komplekse XML-strukturer?
Ja. Verktøyet analyserer nestede objekter, matriser og alle standard XML-datatyper på riktig måte, og bevarer hele datastrukturen i JSON-utdataene.
Er denne konverteringen sikker og privat?
Ja. All behandling skjer lokalt i nettleseren din. Dataene dine forlater aldri enheten din – ingen serveropplasting, ingen skybehandling, ingen datainnsamling.
Håndteres CDATA-seksjoner?
Ja. CDATA-innhold konverteres til ren tekst i JSON-utgangen. Selve CDATA-innpakningen er ikke bevart, men innholdet er det.
Er dataene mine lastet opp til en server?
Nei. DOMParser kjører i nettleseren din; konverteringen skjer utelukkende på enheten din.
Vil JSON tur-retur tilbake til XML?
Ja hvis du bruker den inverse konvensjonen (JSON til XML-verktøyet følger de samme @attr- og #tekstreglene). Rundturen bevarer struktur for typisk XML; noen kantsaker (rekkefølge med blandet innhold, behandlingsinstruksjoner) kan ikke overleve perfekt.
Hva er den maksimale inngangsstørrelsen?
Opptil 50 MB. DOMParser er minnebegrenset av nettleseren din; svært store XML-filer kan redusere hastigheten eller mislykkes i å analysere.