UltKit

Konvertera XML till JSON

Flytta data från ett SOAP-svar, ett RSS-flöde, en konfigurationsfil eller en export från ett äldre system till JSON som ditt JavaScript, Python eller no-code-verktyg läser direkt, utan att du behöver skriva en parser för hand.

Datakonverterare

eller släpp CSV, TSV, TXT …-filer här ·

Max 95 MB per fil· Upp till 20 filer· Raderas efter 30 minuter

Utdata

Filerna bearbetas på våra servrar och raderas efter 30 minuter.

Så använder du verktyget

  1. 1

    Ladda upp XML-filen

    Släpp .xml-filer i uppladdningsytan, upp till 20 per omgång och 95 MB per fil. Varje fil konverteras för sig.

  2. 2

    Välj läsbar eller kompakt

    Snygg formatering är aktiverat, vilket indenterar JSON så att den är lätt att läsa och granska. Stäng av det under Avancerade inställningar om du vill ha minsta möjliga utdata på en enda rad, till exempel för en API-payload.

  3. 3

    Konvertera och använd JSON-filen

    Klicka på Konvertera till JSON, ladda ner .json-filen och läs in den i din kod eller ditt verktyg.

Ladda upp XML-filen och klicka på Konvertera till JSON: element blir nycklar, upprepade element blir arrayer och attribut sparas som nycklar med @ framför, så ingen information i taggarna går förlorad.

Vem behöver konvertera XML till JSON?

XML 1.0 blev en W3C-rekommendation i februari 1998, och under det följande decenniet var det så system pratade med varandra: SOAP-webbtjänster, RSS- och Atom-flöden, Office-dokument, banknmeddelanden, produktkataloger. Många av de systemen körs fortfarande. JSON, specificerat i RFC 8259, tog över för nya webb-API:er eftersom JavaScript läser det utan något tolkbibliotek och eftersom det motsvarar listor och dictionaries i nästan alla språk.

De som konverterar bygger alltså oftast en bro mellan de två epokerna. En frontend-utvecklare får ett SOAP-svar från en betal- eller fraktleverantör och vill ha ett vanligt objekt. Någon som bygger automatiseringar i Zapier eller Make hämtar en leverantörs XML-flöde till ett flöde som fungerar bäst med JSON. En dataingenjör flyttar konfigurationsfiler från en gammal Java-applikation, eller en student behöver ett RSS-flöde som JSON till ett skolprojekt. Alla vill ha samma struktur utan vinkelparenteserna.

Konvertera XML till JSON: så översätts taggar, attribut och text

XML-indata: en order med ett attribut, en kund och två artiklar
<order id="A-77">
  <customer>Lena Ortiz</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Bordslampa</item>
  <item sku="0108">LED-lampa</item>
</order>
Så visas varje del av ordern ovan i JSON
XML-konstruktionExempelJSON-resultat
Rotelement<order>Nyckel på översta nivån order
Attributid="A-77""@id": "A-77"
Element med enbart text<customer>"customer": "Lena Ortiz"
Text plus attribut<total currency="EUR"> med text{"@currency": "EUR", "#text": "59.90"}
Upprepat elementtvå <item>-taggartrue, false och null
Kommentar<!-- note -->Utelämnas; JSON har inga kommentarer

XML

Extensible Markup Language

XML är ett märkspråk för strukturerad data som publicerades av W3C 1998. Det använder nästlade taggar med attribut och stöder scheman, namnrymder och validering, vilket gör det robust för komplexa dokument. Det ligger bakom RSS-flöden, SVG, Office-dokument, webbplatskartor och många datautbyten inom företag och myndigheter. XML är mångordigt jämfört med JSON, men alla programmeringsspråk och många kalkylverktyg kan läsa det.

Komprimering
–
Transparens
–
Animation
–
Introducerades
1998 · W3C
XML-omvandlare

JSON

JavaScript Object Notation

JSON är ett lättviktigt textformat för strukturerad data, populariserat av Douglas Crockford i början av 2000-talet och standardiserat som RFC 8259 och ECMA-404. Det representerar objekt, listor, strängar, tal, booleska värden och null med enkel, läsbar syntax. Det är standardformatet för webb-API:er, konfigurationsfiler och datautbyte mellan appar i nästan alla programmeringsspråk. Det har inga inbyggda kommentarer, datum eller scheman, och stora nästlade filer är svåra att läsa utan en visare.

Komprimering
–
Transparens
–
Animation
–
Introducerades
2001 · Douglas Crockford
JSON-omvandlare

XML konverteras till JSON när data från ett äldre system eller ett företagssystem ska in i en webbapp, ett skript eller ett automatiseringsverktyg: JSON tolkas direkt i JavaScript och motsvarar Pythons dictionaries.

XML-funktioner som JSON saknar plats för

Båda formaten beskriver träd, men XML har extra delar som JSON aldrig hade. Namnrymder, som W3C definierade 1999, låter ett dokument blanda vokabulärer som soap: och xsi:; i JSON finns de kvar bara som del av nyckelnamn. Kommentarer och processinstruktioner har ingenstans att ta vägen och utelämnas. Blandat innehåll, alltså text varvad med underordnade taggar, som ett XHTML-stycke med ett fetstilt ord, är giltig XML men blir krångligt i JSON, så dokumentliknande XML konverteras bättre till HTML eller Markdown än till JSON.

Ordningen är den subtila delen. XML behåller syskonelement i följd, och ett schema kan förlita sig på det; nycklarna i ett JSON-objekt är enligt standarden oordnade. Upprepade element behåller sin ordning inuti sin array, vilket täcker de flesta verkliga data. Om XML-filen är en platt lista med poster som ska hamna i ett kalkylblad snarare än i kod får du rader och kolumner direkt med XML till Excel, och XML till CSV ger en fil för databasimport.

Frågor om att konvertera XML till JSON

Varför blir ett element en array i en fil och ett objekt i en annan?

En konverterare ser bara vad som står i dokumentet. Om en order har tre item-taggar blir items en array. Har den bara en finns inget att upprepa, så den blir ett enda objekt. Kod som läser JSON-filen bör hantera båda formerna, eller lägga ett enskilt objekt i en array innan den loopar.

Hur skrivs XML-attribut i JSON?

Varje attribut blir en nyckel med ett @ framför namnet, så currency="EUR" blir "@currency": "EUR". När ett element har både attribut och text hamnar texten i en #text-nyckel bredvid dem. Den konventionen hindrar att attribut och underelement krockar när de har samma namn.

Blir tal i XML-filen till JSON-tal?

XML har inga egna datatyper; 42 och "42" ser likadana ut i en tagg. Värdena blir därför strängar, vilket skyddar postnummer och ID:n som 007. Konvertera de fält som din kod behöver till tal efter inläsningen.

Vad händer med namnrymdsprefix som soap:Envelope?

Prefixet är kvar som en del av nyckelnamnet, så envelope visas som soap:Envelope och namnrymdsdeklarationen som nyckeln @xmlns:soap. Då hålls element från olika vokabulärer isär. Ta bort prefixen i din kod om du bara arbetar med en av dem.

Kan jag konvertera JSON tillbaka till XML efteråt?

Ja, med JSON till XML. Med samma @- och #text-konvention kommer attribut tillbaka som attribut. Kommentarer och den ursprungliga indenteringen kommer inte tillbaka, eftersom JSON aldrig innehöll dem.