UltKit

JSON XML-be konvertálás

Adja át JSON-adatait olyan szoftvernek, amely csak XML-t fogad. Minden rekordból egy elem, minden kulcsból egy gyermekcímke lesz, a teljes dokumentum pedig egyetlen gyökérelem alá kerül, amelynek nevét Ön választja meg.

Adatkonvertáló

vagy húzza ide a(z) CSV, TSV, TXT … fájlok fájlokat ·

Legfeljebb 95 MB fájlonként· Legfeljebb 20 fájl· Törlés 30 perc után

Kimenet

A fájlokat szervereinken dolgozzuk fel, és 30 perc után töröljük.

Az eszköz használata

  1. 1

    Töltse fel a JSON-fájlt

    Adjon hozzá egy .json fájlt, például egy API-választ, vagy egy JSON Lines fájlt. Legfeljebb 20 fájl, egyenként 95 MB.

  2. 2

    Nevezze el a gyökérelemet

    A Speciális beállítások alatt írja be a külső elem nevét az XML gyökérelem mezőbe (alapértelmezés: rows), és hagyja bekapcsolva az Olvasható formázás opciót a behúzott kimenethez.

  3. 3

    Konvertálja és rendelje hozzá a mezőket

    Nyomja meg a Konvertálás erre: XML gombot, majd töltse le az eredményt. Nevezze át az elemeket, ha a fogadó rendszer sémája más neveket vár.

Miért alakítson JSON-t XML-be, ha a legtöbb API már JSON-t használ?

A webes API-k terén a JSON győzött; jelenlegi specifikációja, a 2017-es RFC 8259 néhány oldalon elfér. Az XML régebbi, 1998 februárja óta W3C-ajánlás, és soha nem tűnt el onnan, ahol szigorúak a szerződések: a bankolásból, az e-számlázásból, a kiadványszerkesztésből és az állami adatszolgáltatásból.

Az átalakítás iránya ezért általában a pénzt vagy a szabályozást követi. A fejlesztő JSON API-ból kéri le a rendeléseket, és egy partner SOAP szolgáltatásába kell küldenie őket. A webshop JSON-ban tárolja a termékeket, az árösszehasonlító viszont XML-feedet kér. Egy csapat JSON-ban tárolja a fordításokat, az Android-build pedig strings.xml fájlt vár. Ha a cél táblázat, a JSON CSV-be átalakító elemek helyett sorokat ad.

Rendszerek, amelyek továbbra is XML-bemenetet várnak

Hol használják a JSON–XML konvertert?
SzervezetKövetelményForrás
SOAP webszolgáltatásokMinden kérés XML-borítékban utazik; a SOAP 1.2 2003 óta W3C-ajánlás—
Google Merchant CenterA termékfeedeket a tagolt szöveg mellett XML-ként is elfogadja RSS 2.0 vagy Atom 1.0 formában—
Peppol e-számlázásA számlákat UBL 2.1 XML dokumentumként cserélik a Peppol BIS Billing 3.0 szabályai szerint—
Android-alkalmazásokA szöveges erőforrások és fordítások a res/values/strings.xml fájlban vannak—

JSON XML-be példa: két termék

Az alábbi JSON-ból írt XML: [{"sku":"A-17","price":12.5,"tags":["új","akciós"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>új</tags>
    <tags>akciós</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

TévhitA JSON és az XML egy az egyben megfeleltethető, így az átalakítás pontos.

TényAz XML-ben vannak attribútumok, vegyes tartalom és névterek, amelyek a JSON-ból hiányoznak, a JSON-ban pedig vannak típusok, amelyek az XML-ből hiányoznak. Az átalakítónak egy leképezést kell választania; ez végig gyermekelemeket használ.

TévhitA 12.5 szám az XML-ben is szám marad.

TényAz XML karaktereket tárol. A 12.5 addig szöveg, amíg egy séma vagy az olvasó program nem mondja ki, hogy tizedes tört.

Mi változik, amikor a JSON-ból XML lesz?

Három dolgot érdemes ellenőrizni. A típusok szöveggé laposodnak, így a true, a null és a 0 is karakterként érkezik; a null általában üres elem lesz. Az érvénytelen XML-nevű kulcsokat át kell nevezni, mert az elemnév nem kezdődhet számjeggyel és nem tartalmazhat szóközt. A kimenet pedig nagyobb, mert minden értéket nyitó és záró elem fog közre, amely megismétli a kulcsot.

Más nem vész el. A beágyazás beágyazott elemekként megmarad, a rekordok sorrendje megmarad, az Unicode szöveg pedig sértetlen, mert a fájl UTF-8 kódolású. A strukturált adatokhoz további lehetőségeket, a YAML-tól az SQL-ig, az adatátalakító oldalon talál.

Tények a JSON és az XML formátumról

JSON

JavaScript Object Notation

A JSON egy könnyű, szöveges formátum strukturált adatokhoz, amelyet Douglas Crockford tett népszerűvé a 2000-es évek elején, és RFC 8259 és ECMA-404 néven szabványosítottak. Objektumokat, tömböket, szövegeket, számokat, logikai értékeket és null értéket ír le egyszerű, olvasható szintaxissal. Ez az alapértelmezett formátum a webes API-khoz, a konfigurációs fájlokhoz és az alkalmazások közti adatcseréhez szinte minden programozási nyelvben. Nincs benne beépített megjegyzés, dátum vagy séma, és a nagy, mélyen egymásba ágyazott fájlok megjelenítő nélkül nehezen olvashatók.

Tömörítés
–
Átlátszóság
–
Animáció
–
Bevezetés éve
2001 · Douglas Crockford
JSON átalakító

XML

Extensible Markup Language

Az XML a W3C által 1998-ban közzétett jelölőnyelv strukturált adatokhoz. Beágyazott, attribútumokkal ellátott címkéket használ, és támogatja a sémákat, a névtereket és az érvényesítést, ezért megbízható összetett dokumentumokhoz. Az RSS-hírcsatornák, az SVG, az Office-dokumentumok, a webhelytérképek és sok vállalati és hatósági adatcsere alapja. Az XML bőbeszédű a JSON-hoz képest, de minden programozási nyelv és sok táblázatkezelő eszköz képes olvasni.

Tömörítés
–
Átlátszóság
–
Animáció
–
Bevezetés éve
1998 · W3C
XML átalakító

A JSON-t akkor alakítják XML-lé, amikor a modern adatnak egy régebbi szerződésbe kell belépnie: SOAP végpontba, termékfeedbe, e-számlázási hálózatba vagy olyan konfigurációs fájlba, amelynek fogadója elemeket értelmez, nem kapcsos zárójeleket.

GYIK a JSON XML-be konvertálásról

Miért kell az XML-nek egyetlen gyökérelem, ha a JSON tömbbel kezdődik?

Az XML 1.0 specifikációja szerint minden jól formált dokumentumnak pontosan egy olyan elemet kell tartalmaznia, amely mindent magába foglal. A JSON-tömbnek nincs ilyen burkolója, ezért az átalakító hozzáad egyet, amelyet az XML gyökérelem mező nevez meg, és a tömb minden elemét <row> elemként helyezi bele.

Mi történik az olyan JSON-kulcsokkal, mint a „2024 total” vagy a „unit price”?

Egyik sem érvényes XML-elemnév: a név nem kezdődhet számjeggyel, és nem tartalmazhat szóközt. Az ilyen kulcsokat nevezze át a JSON-ban az átalakítás előtt, lehetőleg pontosan a fogadó séma elemneveire, hogy a kimenetet utólag ne kelljen javítani.

Hogyan jelenik meg XML-ben egy rekordon belüli JSON-tömb?

Ugyanaz az elem ismétlődik elemenként egyszer. Egy három szöveget tartalmazó tags tömbből három egymás utáni <tags> elem lesz. Az üres tömb semmit sem hagy maga után, ez a JSON–XML átalakítás egyik ritka információvesztési pontja.

Át fog menni az XML a partnerem XSD-validációján?

Csak akkor, ha a szerkezet eleve megegyezik. Az átalakító a JSON-ja hű, jól formált másolatát írja ki; nem ismerheti a partner által megkövetelt elemsorrendet, névtereket vagy attribútumokat. Használja a kimenetet kiindulópontként, és igazítsa a sémához.

Visszaalakíthatom az XML-t JSON-ná?

Használja az XML JSON-ba átalakítót. Oda-vissza átalakításnál kisebb eltérésekre számítson: az XML minden értéket szövegként tárol, ezért a JSON-ban szám vagy true értékként indult adat szövegként érkezhet vissza.