XML kwa Kigeuzi cha JSON
Badilisha data au faili za XML ziwe umbizo la JSON papo hapo kwenye kivinjari chako. Inaauni ujongezaji maalum na hushughulikia miundo iliyowekwa.
Chagua faili ya XML
au buruta na udondoshe hapa
Badilisha data au faili za XML ziwe umbizo la JSON papo hapo kwenye kivinjari chako. Inaauni ujongezaji maalum na hushughulikia miundo iliyowekwa.
au buruta na udondoshe hapa
XML na JSON zote ni miundo ya kubadilishana data lakini zinatoka kwa enzi tofauti za wavuti. XML, iliyosanifiwa mwaka wa 1998, iliundwa kama umbizo la alama linalojieleza lenye sifa, nafasi za majina na uthibitishaji wa taratibu. JSON iliibuka mapema miaka ya 2000 kama umbizo la uzani mwepesi linalofaa zaidi nyakati za JavaScript na API za kisasa. API nyingi mpya za wavuti huzungumza JSON; mifumo mingi ya zamani - huduma za SOAP, milisho ya RSS, faili za usanidi, ushirikiano wa biashara - bado huzalisha XML. Kubadilisha kati yao ni mojawapo ya kazi za kawaida za interop katika maendeleo ya kisasa.
Ugeuzaji sio hasara kabisa kwa sababu miundo miwili ina nguvu tofauti ya kujieleza. XML ina sifa (ambazo JSON haina asili yake), hutofautisha kati ya maandishi na majina ya vipengee, na hutumia maudhui mchanganyiko (vipengee vilivyo na maandishi na vipengele vya watoto). Muundo wa moja kwa moja wa kitu/safu ya JSON hauwezi kuwakilisha vipengele hivi moja kwa moja, kwa hivyo vigeuzi hutumia kanuni: sifa huwa funguo za @-prefixed, maudhui ya maandishi huwa ufunguo wa #maandishi, na kadhalika.
Kigeuzi hiki huchanganua XML kwa kutumia DOMParser iliyojengewa ndani ya kivinjari na hutembea mti wa DOM unaotokana na kutoa JSON. Vipengele vilivyo na jina la lebo sawa na ndugu hukusanywa katika safu; sifa huingia kwenye funguo maalum; nafasi za majina na maagizo ya usindikaji huhifadhiwa wakati zipo. Matokeo yake ni JSON inayoweza kusomeka na binadamu ambayo inarudi kwa XML kwa njia inayofaa.
Nambari nyingi za kisasa za programu zinafaa zaidi na JSON. JavaScript huchanganua JSON kiasili, moduli ya json ya Python iko kwenye maktaba ya kawaida, na karibu kila lugha nyingine ina usaidizi sawa wa darasa la kwanza wa JSON. Uchakataji wa XML unahitaji kuagiza maktaba za ziada na kuandika bodi zaidi. Kubadilisha XML inayoingia hadi JSON kabla ya kuchakata mara nyingi ndiyo njia ya haraka zaidi kutoka kwa mlisho wa nje wa XML hadi muundo wa data wa ndani.
Vifaa pia hutegemea JSON. Virembo vya JSON, vithibitishaji, vithibitishaji vya taratibu, lugha za hoja (jq, JSONPath), na watazamaji ni vingi; sawa na XML ni chache na mara nyingi ni za zamani. Kufanya kazi katika JSON hufungua mfumo tajiri wa ikolojia wa zana.
Bandika XML, pata JSON.
DOMParser hutoa DOM ya XML inayofanana na kile kivinjari hutumia kwa kurasa za XHTML. Kigeuzi hutembea DOM hii kwa kujirudia. Kwa kila kipengele huunda kipengee cha JSON: sifa huwa funguo zilizowekwa awali na @ (k.m., @id, @class); vipengele vya mtoto vya kipengele vinarudiwa katika muundo sawa; maudhui ya maandishi, yanapokuwepo pamoja na watoto, huishi chini ya kitufe cha #maandishi.
Vipengele vya watoto vinavyorudiwa kwa jina sawa la lebo hukusanywa katika safu ya JSON. Mtoto mmoja wa jina fulani anaonekana kama thamani ya kitu; watoto wengi huonekana kama safu ya vitu. Mkataba huu hufanya kazi vyema kimazoezi lakini inamaanisha umbo la JSON linategemea kama vipengele vinaonekana mara moja au mara nyingi - kutokamilika kwa ramani ya XML-to-JSON inayojulikana.
Nafasi za majina zimehifadhiwa kama sehemu ya majina ya vipengele (kiambishi awali:localName). Maagizo ya usindikaji na sehemu za CDATA hubadilishwa kuwa maudhui ya maandishi. Matangazo ya XML na DOCTYPE huondolewa kwenye pato la JSON lakini haziathiri data.