UltKit

Prevod JSON do XML

Odovzdajte dáta JSON softvéru, ktorý rozumie len XML. Každý záznam sa zmení na element, každý kľúč na podradený tag a celý dokument je v jednom koreňovom elemente, ktorého názov si zvolíte.

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 JSON

    Pridajte súbor .json, napríklad odpoveď z API, alebo súbor JSON Lines. Najviac 20 súborov, každý do 95 MB.

  2. 2

    Pomenujte koreňový element

    V časti Rozšírené nastavenia zadajte vonkajší tag do poľa Koreňový tag XML (predvolene rows) a nechajte zapnuté Prehľadné formátovanie, aby bol výstup odsadený.

  3. 3

    Preveďte a namapujte

    Stlačte Previesť na XML a súbor stiahnite. Tagy premenujte tam, kde schéma prijímajúceho systému očakáva iné názvy.

Prečo previesť JSON do XML, keď väčšina API prešla na JSON

JSON zvíťazil v API na webe; jeho aktuálna špecifikácia, RFC 8259 z roku 2017, sa zmestí na niekoľko strán. XML je staršie, odporúčanie W3C od februára 1998, a neopustilo miesta, kde sú zmluvy prísne: bankovníctvo, elektronickú fakturáciu, vydavateľstvo a vládne výkazníctvo.

Smer tohto prevodu preto zvyčajne určujú peniaze alebo regulácia. Vývojár získa objednávky z API vo formáte JSON a musí ich odoslať do služby SOAP partnera. Obchod vedie produkty v JSON, ale porovnávač chce feed v XML. Tím ukladá preklady ako JSON a build pre Android očakáva strings.xml. Ak je cieľom skôr tabuľka, JSON do CSV vám dá riadky namiesto elementov.

Systémy, ktoré stále vyžadujú vstup v XML

Kde sa prevod JSON do XML používa
OrganizáciaPožiadavkaZdroj
Webové služby SOAPKaždá požiadavka putuje ako obálka XML; SOAP 1.2 sa stal odporúčaním W3C v roku 2003—
Google Merchant CenterProduktové feedy sa akceptujú ako XML vo formáte RSS 2.0 alebo Atom 1.0, ako aj ako text s oddeľovačmi—
Elektronická fakturácia PeppolFaktúry sa vymieňajú ako dokumenty UBL 2.1 XML podľa pravidiel Peppol BIS Billing 3.0—
Aplikácie pre AndroidTextové zdroje a preklady sú v res/values/strings.xml—

Príklad prevodu JSON do XML: dva produkty

XML vytvorené z [{"sku":"A-17","price":12.5,"tags":["new","sale"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>novinka</tags>
    <tags>zlava</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

MýtusJSON a XML si zodpovedajú jedna k jednej, takže prevod je presný.

FaktXML má atribúty, zmiešaný obsah a menné priestory, ktoré JSON nemá, a JSON má typy, ktoré XML nemá. Konvertor si musí vybrať jedno mapovanie; toto používa všade vnorené elementy.

MýtusČíslo 12.5 zostane v XML číslom.

FaktXML ukladá znaky. 12.5 je text, kým schéma alebo čítajúci program nepovie, že ide o desatinné číslo.

Čo sa zmení, keď sa z JSON stane XML

Skontrolovať treba tri veci. Typy sa zmenia na text, takže true, null aj 0 prídu ako znaky; null sa zvyčajne stane prázdnym elementom. Kľúče, ktoré nie sú platnými názvami XML, treba premenovať, pretože tag nemôže začínať číslicou ani obsahovať medzeru. A výstup je väčší, pretože každá hodnota je obalená otváracím a zatváracím tagom, ktoré opakujú kľúč.

Nič iné sa nestratí. Vnorenie zostane ako vnorené elementy, poradie záznamov sa zachová a text v Unicode zostane nedotknutý, pretože súbor sa zapisuje v UTF-8. Ďalšie možnosti pre štruktúrované dáta, od YAML po SQL, nájdete na stránke konvertora dát.

Fakty o formátoch JSON a 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

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 sa prevádza na XML, keď musia moderné dáta vstúpiť do staršieho rozhrania: koncového bodu SOAP, produktového feedu, siete elektronickej fakturácie alebo konfiguračného súboru, ktorého spracovanie počíta s elementmi, nie so zloženými zátvorkami.

Prevod JSON do XML – časté otázky

Prečo XML potrebuje jeden koreňový element, keď môj JSON začína poľom?

Špecifikácia XML 1.0 vyžaduje, aby mal každý správne štruktúrovaný dokument práve jeden element, ktorý obsahuje všetko ostatné. Pole JSON takýto obal nemá, preto ho konvertor pridá, pomenuje ho podľa Koreňový tag XML a každú položku poľa vloží dovnútra ako <row>.

Čo sa stane s kľúčmi JSON ako „2024 total“ alebo „unit price“?

Ani jedno nie je platný názov elementu XML: názvy nesmú začínať číslicou ani obsahovať medzery. Takéto kľúče premenujte v JSON ešte pred prevodom, najlepšie na presné názvy tagov, ktoré používa schéma príjemcu, aby výstup nebolo treba potom upravovať.

Ako sa pole JSON vnútri záznamu zapíše v XML?

Ako rovnaký element opakovaný pre každú položku. Pole tags s tromi reťazcami sa stane tromi elementmi <tags> za sebou. Prázdne pole nezanechá nič, čo je jedno z mála miest, kde sa pri prevode JSON na XML stráca informácia.

Prejde XML validáciou XSD môjho partnera?

Len ak štruktúra už zodpovedá. Konvertor zapíše verný a správne štruktúrovaný odpis vášho JSON; nemôže poznať poradie elementov, menné priestory ani atribúty, ktoré partner vyžaduje. Výstup použite ako východisko a upravte ho podľa schémy.

Dá sa previesť XML späť do JSON?

Použite XML na JSON. Pri spätnom prevode počítajte s malými rozdielmi: XML ukladá každú hodnotu ako text, takže číslo alebo true z pôvodného JSON sa môže vrátiť ako reťazec.