JSON va uning qo’llanishi
JSON (JavaScript Object Notation) bu malumatlar
almashinishi uchun ishlatiladigan text formati bo’lib, javascript uchun
yaratilgan va aynan shu tilda ko’p qo’llaniladi.
Duglas Krokford tomonidan yaratilgan. JSON javascript uchun
yaratilganiga qaramasdan uni ko’pchilik tillarda ishlatishimiz mumkin.
Aynam men uni androidda server bilan malumot almashganda ishlatganman.
Server json ko’rinishida malumotlarni jo’natgan, abdroidda u parse
qilinib mos class obyektlariga aylantirilgan. Shaxsiy tajribamdan (
uncha katta emas-u 🙂 )
kelib chiqib aytadigan bo’lsam, JSON obyekt asason
frontendga backenddan malumotlarni jo’natishda ishlatiladi.
Hususan
PHPga keladigan bo’lsak uning 5.2 versiyasidan boshlab json_encode() va json_decode() junksiyalari kiritilgan.
JSON ga misol:
{ "firstName" : "Иван" , "lastName" : "Иванов" , "address" : { "streetAddress" : "Московское ш., 101, кв.101" , "city" : "Ленинград" , "postalCode" : 101101 }, "phoneNumbers" : [ "812 123-1234" , "916 123-4567" ] }
Ko’rib turganingizdek u 2 qismdan iborat: key(o’zgaruvchi nomi) va
qiymati. Nomidan kelib chiqib chiqqan holda u oddiy javascript obyektga
juda o’xshaydi. Javascript Obyekt haqidagi postni o’qishingiz mumkin. Ularning assosiy farqi:
- Key (o’zgaruvchi nomi) har doim « ichida yozilishi kerak.
- Qabul qiladigan qiymatlari
- string
- sonli qiymat
- boshqa JSON obyekt
- massiv
- bool qiymat
- null
Masalan:
// JSON: { "foo" : "bar" } // Javascript obyekt: var o= { foo : "bar" };
Biz javascript obyektni var o = { foo: «bar» }; deb yozgan taqdirimizda ham javascript xatosiz ishlayveradi.Nimaga endi JSONda key « ichida yoziladi? Tepada aytganimizdek, json o’zaro malumot almashish formati va malumot qabul qiladigan tomon malumotni parse qilishi uchun shunday o’zgarmas qonunlarni joriy qilgan.
Balki siz bunday ko’rinishdagi obyektlarni boshqa dasturlash tillarida ishlatgandirsiz.
Turli dasturlash tillarida uni har hil atalgan holatlarini uchratish
mumkin, masala struktura, dictionary, hash jadval, kalit so’zli ro’yxati
yoki assotsiativ
massiv va hakazo.
Manba:
Web Dasturlash
JSON va uning qo’llanishi