UltKit

Konvertor XML do JSON

Presuňte dáta z odpovede SOAP, RSS feedu, konfiguračného súboru alebo exportu zo staršieho systému do formátu JSON, ktorý priamo načíta váš JavaScript, Python alebo nástroj no-code, bez ručného písania parsera.

Prevodník dát

alebo sem presuňte súbory CSV, TSV, TXT … ·

Max. 95 MB na súbor· Až 20 súborov· Odstránenie po 30 minútach

Výstup

Súbory sa spracúvajú na našich serveroch a po 30 minútach sa odstránia.

Ako používať tento nástroj

  1. 1

    Nahrajte súbor XML

    Presuňte súbory .xml do oblasti na nahrávanie, najviac 20 v jednej dávke a každý do 95 MB. Každý súbor sa prevedie samostatne.

  2. 2

    Vyberte čitateľný alebo kompaktný výstup

    Voľba Prehľadné formátovanie je zapnutá, takže JSON je odsadený na čítanie a kontrolu kódu. Vypnite ju v časti Rozšírené nastavenia, ak chcete čo najmenší jednoriadkový výstup pre dáta API.

  3. 3

    Previeďte a použite JSON

    Stlačte Previesť na JSON, stiahnite súbor .json a načítajte ho vo svojom kóde alebo nástroji.

Nahrajte XML a stlačte Previesť na JSON: elementy sa stanú kľúčmi, opakované elementy poľami a atribúty zostanú ako kľúče s prefixom @, takže sa nestratí žiadna informácia zo značiek.

Kto potrebuje konvertor XML do JSON

XML 1.0 sa stalo odporúčaním W3C vo februári 1998 a nasledujúce desaťročie sa cez neho systémy dorozumievali: webové služby SOAP, kanály RSS a Atom, dokumenty Office, bankové správy, produktové katalógy. Mnohé z týchto systémov stále fungujú. JSON, špecifikovaný v RFC 8259, prevzal nové webové API, pretože JavaScript ho číta bez knižnice na spracovanie a pretože sa priamo mapuje na zoznamy a slovníky takmer v každom jazyku.

Prevádzajú preto väčšinou ľudia, ktorí spájajú tieto dve éry. Front-end vývojár dostane odpoveď SOAP od poskytovateľa platieb alebo dopravy a chce obyčajný objekt. Tvorca automatizácií v Zapieri alebo Make vťahuje XML kanál dodávateľa do toku, ktorý najlepšie funguje s JSON. Dátový inžinier migruje konfiguračné súbory zo staršej aplikácie v Jave alebo študent potrebuje kanál RSS ako JSON pre školský projekt. Každý chce rovnakú štruktúru bez lomených zátvoriek.

Prevod XML do JSON: ako sa mapujú značky, atribúty a text

Vstup XML: objednávka s atribútom, jedným zákazníkom a dvoma položkami
<order id="A-77">
  <customer>Lucia Horváthová</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Stolná lampa</item>
  <item sku="0108">LED žiarovka</item>
</order>
Ako sa jednotlivé časti objednávky vyššie zobrazia v JSON
Konštrukcia XMLPríkladVýsledok v JSON
Koreňový element<order>Kľúč najvyššej úrovne order
Atribútid="A-77""@id": "A-77"
Element len s textom<customer>"customer": "Lucia Horváthová"
Text a atribút<total currency="EUR"> (mena v atribúte){"@currency": "EUR", "#text": "59.90"}
Opakovaný elementdve značky <item>pole "item": [ … , … ]
Komentár<!-- note -->Vynechaný; JSON nemá komentáre

XML

Extensible Markup Language

XML je značkovací jazyk pre štruktúrované dáta, ktorý W3C publikovalo v roku 1998. Používa vnorené značky s atribútmi a podporuje schémy, menné priestory a validáciu, vďaka čomu je robustný pre zložité dokumenty. Je základom kanálov RSS, SVG, dokumentov Office, sitemap a mnohých podnikových a vládnych výmen dát. XML je v porovnaní s JSON rozvláčny, ale prečíta ho každý programovací jazyk aj mnohé tabuľkové nástroje.

Kompresia
–
Priehľadnosť
–
Animácia
–
Rok vzniku
1998 · W3C
Konvertor XML

JSON

JavaScript Object Notation

JSON je ľahký textový formát pre štruktúrované dáta, ktorý na začiatku 21. storočia spopularizoval Douglas Crockford a ktorý je normalizovaný ako RFC 8259 a ECMA-404. Pomocou jednoduchej, čitateľnej syntaxe vyjadruje objekty, polia, reťazce, čísla, booleovské hodnoty a null. Je predvoleným formátom webových API, konfiguračných súborov a výmeny dát medzi aplikáciami takmer v každom programovacom jazyku. Nemá vstavané komentáre, dátumy ani schémy a veľké vnorené súbory sa bez prehliadača ťažko čítajú.

Kompresia
–
Priehľadnosť
–
Animácia
–
Rok vzniku
2001 · Douglas Crockford
Konvertor JSON

XML sa prevádza na JSON, keď sa dáta zo staršieho alebo podnikového systému musia dostať do webovej aplikácie, skriptu alebo automatizačného nástroja: JSON sa v JavaScripte spracúva natívne a priamo zodpovedá slovníkom v Pythone.

Vlastnosti XML, pre ktoré JSON nemá miesto

Oba formáty popisujú stromy, ale XML prináša prvky, ktoré JSON nikdy nemal. Menné priestory, ktoré W3C definovalo v roku 1999, umožňujú v jednom dokumente miešať slovníky ako soap: a xsi:; v JSON zostanú len ako súčasť názvov kľúčov. Komentáre a spracovateľské inštrukcie nemajú kam ísť a vynechajú sa. Zmiešaný obsah, teda text prekladaný podriadenými značkami, ako v odseku XHTML s tučným slovom, je v XML platný, no v JSON je nepraktický, preto je dokumentový XML lepšie previesť do HTML alebo Markdownu než do JSON.

Jemnou témou je poradie. XML zachováva poradie súrodeneckých elementov a schéma sa naň môže spoliehať; kľúče objektu JSON sú podľa štandardu bez poradia. Opakované elementy si zachovajú poradie vo svojom poli, čo pokrýva väčšinu reálnych dát. Ak je XML plochý zoznam záznamov, ktorý má skončiť v tabuľke a nie v kóde, XML do Excelu vám dá priamo riadky a stĺpce a XML do CSV vytvorí súbor na import do databázy.

Otázky o prevode XML do JSON

Prečo je ten istý prvok v jednom súbore pole a v inom objekt?

Konvertor vidí len to, čo je v dokumente. Ak objednávka obsahuje tri značky item, items sa stane poľom; ak obsahuje jednu, nie je čo opakovať, a preto vznikne jediný objekt. Kód, ktorý JSON číta, by mal akceptovať oba tvary, alebo by mal jediný objekt pred cyklom zabaliť do poľa.

Ako sa v JSON zapisujú atribúty XML?

Každý atribút sa stane kľúčom so znakom @ pred názvom, takže currency="EUR" sa zmení na "@currency": "EUR". Ak má element atribúty aj text, text sa uloží do kľúča #text vedľa nich. Vďaka tejto konvencii sa atribúty a podriadené elementy nezrazia, keď majú rovnaký názov.

Menia sa čísla z XML na čísla v JSON?

XML nemá vlastné dátové typy; 42 a "42" vyzerajú v značke rovnako. Hodnoty preto vychádzajú ako reťazce, vďaka čomu zostanú PSČ a ID ako 007 v bezpečí. Polia, ktoré váš kód potrebuje ako čísla, preveďte po spracovaní.

Čo sa stane s prefixmi menných priestorov, napríklad soap:Envelope?

Prefix zostáva súčasťou názvu kľúča, takže obálka sa zobrazí ako soap:Envelope a deklarácia menného priestoru ako kľúč @xmlns:soap. Elementy z rôznych slovníkov tak zostanú oddelené; ak pracujete len s jedným, prefixy odstráňte vo svojom kóde.

Môžem JSON neskôr previesť späť do XML?

Áno, pomocou JSON do XML. Podľa rovnakej konvencie @ a #text sa atribúty vrátia ako atribúty. Komentáre a pôvodné odsadenie sa nevrátia, keďže ich JSON nikdy neobsahoval.