UltKit

Badilisha JSON kuwa XML

Peleka data ya JSON kwenye programu inayoelewa XML pekee. Kila rekodi inakuwa elementi, kila ufunguo unakuwa lebo ndogo, na hati nzima inakaa chini ya elementi kuu moja ambayo jina lake unalichagua wewe.

Kibadilishaji cha Data

au buruta Faili za CSV, TSV, TXT … hapa ·

Hadi MB 95 kwa faili· Hadi faili 20· Hufutwa baada ya dakika 30

Matokeo

Faili huchakatwa kwenye seva zetu na kufutwa baada ya dakika 30.

Jinsi ya kutumia zana hii

  1. 1

    Pakia faili ya JSON

    Ongeza faili ya .json, kama jibu la API, au faili ya JSON Lines. Hadi faili 20, kila moja MB 95.

  2. 2

    Ipe jina elementi kuu

    Chini ya Mipangilio ya hali ya juu, andika lebo ya nje kwenye Lebo ya mzizi ya XML (huanza kama rows) na uache Panga kwa usomaji rahisi ikiwa imewashwa ili matokeo yawe na mpangilio wa nafasi.

  3. 3

    Badilisha na uoanishe

    Bonyeza Badilisha kuwa XML kisha upakue. Badilisha majina ya lebo pale ambapo skima ya mfumo unaopokea inatarajia majina tofauti.

Kwa nini ubadilishe JSON kuwa XML wakati API nyingi zimehamia JSON

JSON ilishinda API za wavuti; kiwango chake cha sasa, RFC 8259 ya mwaka 2017, kinatosha kurasa chache. XML ni ya zamani zaidi, Pendekezo la W3C tangu Februari 1998, na haijawahi kuondoka kwenye maeneo yenye mikataba mikali: benki, ankara za kielektroniki, uchapishaji na ripoti za serikali.

Kwa hiyo mwelekeo wa ubadilishaji huu mara nyingi hufuata fedha au kanuni. Msanidi huchukua oda kutoka API ya JSON na lazima azitume kwenye huduma ya SOAP ya mshirika. Duka huhifadhi bidhaa kwenye JSON lakini tovuti ya kulinganisha bei inataka mlisho wa XML. Timu huhifadhi tafsiri kama JSON na programu ya Android inatarajia strings.xml. Kama unakoelekea ni lahajedwali, JSON kuwa CSV hukupa safu badala ya vipengele.

Mifumo ambayo bado inahitaji data ya XML

Mahali kibadilishaji cha JSON kuwa XML kinapotumika
ShirikaShartiChanzo
Huduma za wavuti za SOAPKila ombi husafiri kama bahasha ya XML; SOAP 1.2 ikawa Pendekezo la W3C mwaka 2003—
Google Merchant CenterMilisho ya bidhaa hukubaliwa kama XML katika RSS 2.0 au Atom 1.0, pamoja na maandishi yaliyotenganishwa—
Ankara za kielektroniki za PeppolAnkara hubadilishwa kama hati za UBL 2.1 XML chini ya kanuni za Peppol BIS Billing 3.0—
Programu za AndroidRasilimali za maandishi na tafsiri ziko kwenye res/values/strings.xml—

Mfano wa JSON kuwa XML: bidhaa mbili

XML iliyoandikwa kutoka [{"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>new</tags>
    <tags>sale</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>
<!-- safu mbili, safu ya tags imegawanywa kuwa vipengele viwili -->

Dhana potofuJSON na XML zinalingana moja kwa moja, kwa hiyo ubadilishaji ni sahihi kabisa.

UkweliXML ina sifa, maudhui mchanganyiko na nafasi za majina ambazo JSON haina, na JSON ina aina za data ambazo XML haina. Kibadilishaji lazima kichague mfumo mmoja wa ulinganifu; hiki hutumia vipengele vya ndani kote.

Dhana potofuNambari 12.5 inabaki kuwa nambari kwenye XML.

UkweliXML huhifadhi herufi. 12.5 ni maandishi hadi skima au programu inayosoma iseme ni desimali.

Kinachobadilika JSON inapogeuzwa kuwa XML

Mambo matatu yanastahili kukaguliwa. Aina hubadilika kuwa maandishi, kwa hiyo true, null na 0 zote hufika kama herufi; null mara nyingi huwa kipengele tupu. Funguo ambazo si majina halali ya XML lazima zibadilishwe, kwa kuwa lebo haiwezi kuanza na tarakimu wala kuwa na nafasi. Na matokeo ni makubwa zaidi, kwa sababu kila thamani imefungwa kwa lebo ya mwanzo na ya mwisho zinazorudia ufunguo.

Hakuna kingine kinachopotea. Uwekaji ndani unabaki kama vipengele vilivyo ndani ya vingine, mpangilio wa rekodi unahifadhiwa, na maandishi ya Unicode yanabaki salama kwa sababu faili inaandikwa kwa UTF-8. Chaguo zaidi za data iliyopangwa, kuanzia YAML hadi SQL, zimeorodheshwa kwenye ukurasa wa kibadilishaji data.

Ukweli kuhusu miundo ya JSON na XML

JSON

JavaScript Object Notation

JSON ni umbizo jepesi la maandishi kwa data iliyopangwa, lililoenezwa na Douglas Crockford mwanzoni mwa miaka ya 2000 na kusanifishwa kama RFC 8259 na ECMA-404. Linawakilisha vitu, safu, maandishi, namba, thamani za kweli/si kweli na null kwa sintaksia rahisi inayosomeka. Ni umbizo chaguomsingi la API za wavuti, faili za usanidi na ubadilishanaji wa data kati ya programu katika karibu kila lugha ya programu. Halina maoni, tarehe wala michoro ya muundo ndani yake, na faili kubwa zenye viwango vingi ni vigumu kusoma bila kitazamaji.

Ubanaji
–
Uwazi
–
Uhuishaji
–
Mwaka ulioanzishwa
2001 · Douglas Crockford
Kigeuzi cha JSON

XML

Extensible Markup Language

XML ni lugha ya alama kwa data iliyopangwa iliyochapishwa na W3C mwaka 1998. Hutumia tagi zilizoota ndani ya nyingine zenye sifa na inasaidia schemas, namespaces na uthibitishaji, jambo linaloifanya imara kwa hati changamano. Ndiyo msingi wa mlisho wa RSS, SVG, hati za Office, sitemap na ubadilishanaji mwingi wa data wa mashirika na serikali. XML ni ndefu ikilinganishwa na JSON, lakini kila lugha ya programu na zana nyingi za majedwali zinaweza kuisoma.

Ubanaji
–
Uwazi
–
Uhuishaji
–
Mwaka ulioanzishwa
1998 · W3C
Kigeuzi cha XML

JSON hubadilishwa kuwa XML pale data ya kisasa inapohitaji kuingia kwenye mkataba wa zamani: kituo cha SOAP, mlisho wa bidhaa, mtandao wa ankara za kielektroniki au faili ya usanidi ambayo mtumiaji wake aliandikwa kusoma vipengele, si mabano.

Maswali kuhusu kubadilisha JSON kuwa XML

Kwa nini XML inahitaji elementi kuu moja wakati JSON yangu inaanza na safu?

Kiwango cha XML 1.0 kinahitaji kila hati iliyoundwa vizuri iwe na kipengele kimoja tu kinachobeba vingine vyote. Safu ya JSON haina kifuniko kama hicho, kwa hiyo kibadilishaji huongeza kimoja, chenye jina kutoka Lebo ya mzizi ya XML, na huweka kila kipengee cha safu ndani yake kama <row>.

Nini hutokea kwa funguo za JSON kama "2024 total" au "unit price"?

Hakuna kati ya hivyo ambacho ni jina halali la kipengele cha XML: majina hayawezi kuanza na tarakimu wala kuwa na nafasi. Badilisha funguo kama hizo kwenye JSON kabla ya kubadilisha, ikiwezekana ziwe majina kamili ya lebo yanayotumiwa na skima ya mpokeaji, ili matokeo yasihitaji marekebisho baadaye.

Safu ya JSON iliyo ndani ya rekodi huandikwaje katika XML?

Kama kipengele kilekile kinachorudiwa mara moja kwa kila kipengee. Safu ya tags yenye maandishi matatu inakuwa vipengele vitatu vya <tags> mfululizo. Safu tupu haiachi chochote, na hii ni mojawapo ya sehemu chache ambapo JSON kuwa XML hupoteza taarifa.

Je, XML itapita uthibitishaji wa XSD wa mshirika wangu?

Ni kama muundo tayari unalingana tu. Kibadilishaji huandika nakala sahihi na iliyoundwa vizuri ya JSON yako; hakiwezi kujua mpangilio wa vipengele, nafasi za majina au sifa anazohitaji mshirika. Tumia matokeo kama mwanzo kisha uyarekebishe kulingana na skima.

Je, ninaweza kubadilisha XML kurudi kuwa JSON?

Tumia XML kuwa JSON. Tarajia tofauti ndogo wakati wa kurudi: XML huhifadhi kila thamani kama maandishi, kwa hiyo nambari au true iliyoanza kwenye JSON inaweza kurudi kama maandishi.