Utilia

Konvertor JSON na XML a späť

Konvertuj JSON na XML a XML na JSON v prehliadači, so spracovaním atribútov, opakovaných elementov a CDATA. Nič sa nenahráva na server.

Konverzia

Ako používať konvertor JSON na XML

  1. Vyber smer: JSON → XML alebo XML → JSON.
  2. Vlož údaje, alebo klikni na Otvoriť súbor a načítaj súbor .json alebo .xml (do 10 MB).
  3. Nastav voľby: Odsadenie (2 medzery, 4 medzery, tabulátor alebo Žiadne (kompaktne)) pre oba smery; Koreňový element a Pridať deklaráciu XML pre JSON → XML; Konvertovať čísla a logické hodnoty pre XML → JSON.
  4. Klikni na Konvertovať. Výsledok sa mení aj počas písania a chyby ukazujú riadok a stĺpec, kde sa problém našiel.
  5. Skopíruj alebo stiahni výsledok. Obrátiť smer vloží výstup späť do vstupu, takže môžeš skontrolovať spiatočnú cestu.

Ako sa JSON mapuje na XML

XML a JSON nemajú rovnaký dátový model, preto každý konvertor sleduje nejakú konvenciu. Tento nástroj používa široko rozšírenú konvenciu z knižnice 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>
  • Kľúče začínajúce @ sa stanú atribútmi a kľúč #text nesie text elementu, ktorý má aj atribúty.
  • Pole sa stane opakovaným elementom s rovnakým názvom.
  • Dokument XML potrebuje presne jeden koreňový element. Ak je tvoj JSON objekt s jediným kľúčom, ktorého hodnotou je objekt, tento kľúč sa stane koreňom. Inak sa celá hodnota zabalí do elementu s názvom z poľa Koreňový element (štandardne root) a položky poľa na najvyššej úrovni sa stanú elementmi <item>.
  • Kľúče, ktoré nie sú platnými názvami XML, sa opravia: medzery a symboly sa zmenia na _ a názov začínajúci číslicou dostane úvodné _ ("1st place" → <_1st_place>).
  • null a prázdne reťazce dajú prázdny element, napríklad <note/>. Špeciálne znaky (&, <, >, úvodzovky) sa ošetria.

Ako sa XML mapuje na JSON

  • Atribúty sa stanú kľúčmi s predponou @ a zmiešaný text sa stane #text.
  • Opakované elementy sa stanú poľom; element, ktorý sa objaví raz, sa stane jednou hodnotou.
  • Sekcie CDATA sa zlúčia do textu a entity ako &amp; sa dekódujú. Deklarácia XML, spracovateľské inštrukcie a komentáre sa zahodia.
  • So Konvertovať čísla a logické hodnoty sa <price>12.5</price> zmení na 12.5 a true na logickú hodnotu, kým hodnoty s úvodnou nulou, napríklad 007, ostanú reťazcami. Ak voľbu vypneš, každá hodnota zostane textom.

Pred konverziou sa XML overí na správnu utvorenosť: chýbajúca ukončovacia značka, nezhodná značka alebo neošetrené & sa nahlásia s riadkom a stĺpcom.

Často kladené otázky

Odosielajú sa moje údaje na server?

Nie. Konverzia beží celá v tvojom prehliadači. Tvoje kanály XML, správy SOAP a konfiguračné súbory zostávajú na tvojom počítači.

Prečo sa element v jednom súbore zmení na pole a v inom na objekt?

XML nehovorí, či je element zoznam. Keď sa <tag> objaví dvakrát, stane sa poľom; keď raz, je to jedna hodnota. Ak tvoj kód očakáva pole, ošetri oba prípady, alebo pri testovaní pridaj druhý element.

Prečo spiatočná cesta nie je vždy rovnaká?

Niektoré informácie nemajú na druhej strane ekvivalent: komentáre, poradie zmiešaného obsahu alebo rozdiel medzi poľom s jedným prvkom a jednou hodnotou. Pri typických dátových dokumentoch dá konverzia JSON → XML → JSON rovnakú štruktúru späť.

Môžem používať menné priestory?

Áno. Názvy s predponou, ako soap:Envelope, a atribúty ako @xmlns:soap sa v oboch smeroch ponechajú tak, ako sú.

Overuje sa podľa schémy XSD?

Nie. Kontroluje, či je XML správne utvorené, ale neoveruje ho podľa DTD ani schémy XSD.