Teknobench

Konvertitur JSON għal XML

Ikkonverti JSON għal XML u XML għal JSON fil-brawżer tiegħek, b’attributi, elementi mtennija u CDATA ttrattati. Xejn ma jittella’ lil server.

Konverżjoni

Kif tuża l-konvertitur JSON għal XML

  1. Agħżel id-direzzjoni: JSON → XML jew XML → JSON.
  2. Waħħal id-data tiegħek, jew ikklikkja Iftaħ fajl biex tiftaħ fajl .json jew .xml (sa 10 MB).
  3. Issettja l-għażliet: Indentazzjoni (2 spazji, 4 spazji, tab jew Xejn (kompatt)) għaż-żewġ direzzjonijiet; Element għerq u Żid id-dikjarazzjoni XML għal JSON → XML; Ikkonverti n-numri u l-booleans għal XML → JSON.
  4. Ikklikkja Ikkonverti. Ir-riżultat jiġi aġġornat ukoll waqt li tikteb, u l-iżbalji juru l-linja u l-kolonna fejn instab il-problema.
  5. Ikkopja jew niżżel ir-riżultat. Aqleb id-direzzjoni iqiegħed l-output lura fl-input biex tkun tista’ tiċċekkja r-round trip.

Kif JSON jiġi mmappjat għal XML

XML u JSON m’għandhomx l-istess mudell ta’ data, għalhekk kull konvertitur isegwi konvenzjoni. Din l-għodda tuża dik użata ħafna mil-librerija 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>
  • Ċwievet li jibdew b’@ isiru attributi, u ċ-ċavetta #text iżżomm it-test ta’ element li għandu wkoll attributi.
  • Array isir element imtenni bl-istess isem.
  • Dokument XML jeħtieġ element għerq wieħed biss. Jekk il-JSON tiegħek huwa oġġett b’ċavetta waħda li l-valur tagħha huwa oġġett, dik iċ-ċavetta ssir l-għerq. Inkella, il-valur kollu jiġi mgeżwer fl-element imsemmi f’Element għerq (root awtomatikament), u l-oġġetti tal-array ta’ livell għoli jsiru elementi <item>.
  • Ċwievet li mhumiex ismijiet XML validi jiġu rranġati: l-ispazji u s-simboli jsiru _, u isem li jibda b’ċifra jieħu _ fil-bidu ("1st place" → <_1st_place>).
  • null u strings vojta jagħtu element vojt bħal <note/>. Karattri speċjali (&, <, >, kwotazzjonijiet) jgħaddu minn escape.

Kif XML jiġi mmappjat għal JSON

  • L-attributi jsiru ċwievet bi prefiss @, u test imħallat isir #text.
  • Elementi mtennija jsiru array; element li jidher darba jsir valur wieħed.
  • Sezzjonijiet CDATA jingħaqdu mat-test, u entitajiet bħal &amp; jiġu ddekodifikati. Id-dikjarazzjoni XML, l-istruzzjonijiet tal-ipproċessar u l-kummenti jitneħħew.
  • B’Ikkonverti n-numri u l-booleans, <price>12.5</price> isir 12.5 u true isir boolean, filwaqt li valuri b’żero fil-bidu, bħal 007, jibqgħu strings. Itfi l-għażla biex iżżomm kull valur bħala test.

Qabel il-konverżjoni, l-XML jiġi ċċekkjat għal formazzjoni tajba: tag ta’ għeluq nieqes, tag mhux tajjeb jew & mingħajr escape jiġu rrapportati bil-linja u l-kolonna tagħhom.

Mistoqsijiet frekwenti

Id-data tiegħi tintbagħat lil server?

Le. Il-konverżjoni taħdem kompletament fil-brawżer tiegħek. Il-feeds XML, il-messaġġi SOAP u l-fajls ta’ konfigurazzjoni tiegħek jibqgħu fuq il-kompjuter tiegħek.

Għaliex element isir array f’fajl wieħed u oġġett f’ieħor?

L-XML ma jgħidx jekk element huwiex lista. Meta <tag> jidher darbtejn, isir array; meta jidher darba, huwa valur wieħed. Jekk il-kodiċi tiegħek jistenna array, ittratta ż-żewġ każijiet, jew żid element ieħor waqt l-ittestjar.

Għaliex ir-round trip mhux dejjem identiku?

Xi informazzjoni m’għandhiex ekwivalenti fuq in-naħa l-oħra: kummenti, l-ordni ta’ kontenut imħallat, jew id-differenza bejn array b’element wieħed u valur wieħed. Għal dokumenti tipiċi tad-data, il-konverżjoni JSON → XML → JSON tagħti lura l-istess struttura.

Nista’ nuża namespaces?

Iva. Ismijiet bi prefiss bħal soap:Envelope u attributi bħal @xmlns:soap jinżammu kif inhuma fiż-żewġ direzzjonijiet.

Jivvalida kontra skema XSD?

Le. Jiċċekkja li l-XML huwa ifformat sew, imma ma jivvalidahx kontra DTD jew skema XSD.