Asosiy qismga oʻtish

XML ni JSON ga oʻtkazish

XML hujjatni JSON ga aylantiring: atributlar @kalit boʻladi, takrorlanuvchi elementlar massivga aylanadi, sonlar turi aniqlanadi — hammasi qurilmangizda bajariladi.

Qaysi formatga
XML faylni shu yerga tashlangXML 100 MB gacha · JSON, CSV, XLSX, XLS, ODS 500 MB gacha
Faylni tanlangQurilmangizda qayta ishlanadi — hech qayerga yuklanmaydi
Brauzeringizda ishlaydi · yuklanmaydiQanday ishlaydi

XML dan JSON ga: foydalanish tartibi

  1. 1

    XML ni joylang yoki tashlang

    .xml fayl, RSS yoki Atom lenta, SOAP javobi yoki istalgan XML matn; eʼlondagi kodlash hisobga olinadi.

  2. 2

    JSON tuzilishini belgilang

    Atributlar @kalit, oddiy kalit yoki umuman yoʻq; massiv faqat takrorlanuvchi elementlar uchun yoki hamma joyda; sonlar turi aniqlanadi yoki matn boʻlib qoladi.

  3. 3

    JSON ni nusxalang

    Chiroyli formatlangan yoki ixcham — buferga nusxalang yoki .json faylni yuklab oling.

Cheklovlar va Pro

100 MB gacha XML fayllar; joylangan XML esa brauzeringiz sigʻdira oladigan har qanday hajmda.

XML dan JSON ga haqida

XML dan JSON ga oʻtkazgich API, davlat portali yoki eski integratsiya sizga XML berganda, kodingizga esa JSON kerak boʻlganda qoʻl keladi. Hujjatning ildiz elementi yuqori darajadagi yagona kalitga, har bir ichki element xususiyatga aylanadi, bitta ota ichida bir necha marta uchragan element esa hujjatdagi tartibda massiv boʻladi.

JSON da atribut tushunchasi yoʻq, shuning uchun ular haqida qaror qabul qilish kerak. Standart holatda atributlar @ bilan boshlanadigan kalit boʻlib yoziladi — <price currency="UZS">125000</price> dan {"@currency": "UZS", "#text": 125000} chiqadi. Bu atributlarni ichki elementlardan ajratib turadi va JSON ni yana aynan shu XML ga qaytarish imkonini beradi. Oddiy kalitlar obyektni qisqaroq qiladi, faqat texnik maqsadda atribut ishlatadigan hujjatlar uchun esa ularni tushirib qoldirish mumkin.

Qiymatlar: turlarni aniqlash yoqilgan boʻlsa, 42 va 3.5 JSON soniga, true/false mantiqiy qiymatga aylanadi, lekin son sifatida oʻqilsa oʻzgarib qoladigan narsa satr boʻlib qoladi — boshida nol bor pochta indekslari va hisob raqamlari, 15 xonadan uzun sonlar. Boʻsh elementlar boʻsh satr boʻladi.

Nomlar fazosi yozilganidek (dc:title) saqlanadi yoki toza kalitlar uchun prefikslar olib tashlanadi — bunda xmlns eʼlonlari ham tushib qoladi. “Doim massiv qilish” har bir ichki elementga bir xil massiv shaklini beradi: bir yozuvda bitta muallif, boshqasida uchta boʻlsa qulay.

Oʻtmaydiganlar: izohlar, qayta ishlash koʻrsatmalari va DOCTYPE; XHTML paragraflaridagi kabi ichki teglar bilan aralash matn bitta satrga birlashtiriladi.

Maxfiylik

XML shu sahifaning fonda ishlaydigan worker ida tarmoqqa hech qanday soʻrov yubormasdan oʻqiladi; DTD yoki tashqi obyekt yuklab olinmaydi va hujjat qurilmangizdan chiqmaydi.

XML dan JSON ga: koʻp beriladigan savollar

JSON dagi #text nimani bildiradi?
Element atribut yoki ichki elementlarga ega boʻlib, oʻzining matni ham boʻlsa, bu matnga alohida kalit kerak; #text — keng tarqalgan kelishuv. <title lang="uz">Qoʻllanma</title> dan {"@lang": "uz", "#text": "Qoʻllanma"} chiqadi. Faqat matndan iborat element esa oddiy qiymatga aylanadi, yaʼni <title>Qoʻllanma</title> shunchaki "title": "Qoʻllanma" boʻladi.
Sonlar songa aylanadimi yoki satr boʻlib qoladimi?
“Sonlar va true/false ni aniqlash” yoqilgan boʻlsa, aniq son yoki mantiqiy qiymat boʻlgan qiymatlar JSON turini oladi. 007 yoki pochta indeksi kabi boshida nol bor qiymatlar va 15 xonadan uzun sonlar satr boʻlib qoladi, chunki ularni songa aylantirish qiymatni oʻzgartirib yuboradi. Har bir qiymatni aynan matn holida saqlash uchun aniqlashni oʻchiring.
soap: yoki dc: kabi nomlar fazosi bilan nima boʻladi?
Standart holatda prefiks kalitning bir qismi boʻlib qoladi: dc:title kaliti "dc:title" boʻladi, xmlns eʼlonlari esa @xmlns atributlari sifatida koʻrinadi. title olish va eʼlonlarni tushirib qoldirish uchun “Nomlar fazosi prefikslarini olib tashlash” ni yoqing. Bir xil mahalliy nomli ikki xil nomlar fazosi bitta kalitni boʻlishib qoladi, bu muhim boʻlsa prefikslarni saqlang.
Keyin JSON ni yana XML ga qaytarsa boʻladimi?
Ha. “JSON ni XML ga oʻtkazish” sahifasida natijani XML qilib tanlang: @ bilan boshlanadigan kalitlar atributga, #text elementning matniga, massivlar esa takroriy elementlarga aylanadi. Bitta ota ichida turli nomli elementlar aralash kelgan boʻlsa, ularning tartibi oʻzgarishi mumkin, izohlar ham yoʻqoladi, lekin maʼlumotning oʻzi ikki yoʻnalishdan ham butun oʻtadi.
Nega JSON oʻrniga xato chiqyapti?
XML toʻgʻri tuzilmagan, xabar esa birinchi muammoning qatori va ustunini koʻrsatadi. Koʻp uchraydigan sabablar: &amp; boʻlishi kerak boʻlgan yolgʻiz &, notoʻgʻri tartibda yopilgan teg, qoʻshtirnoqsiz atribut qiymati yoki XML da aniqlanmagan &nbsp; kabi HTML obyektlari. Oʻsha joyni tuzating va qayta joylang.

Bu vosita bilan boshqa ishlar