Bosh sahifa Wiki JSON

JSON

JSON — ma’lumotlarni matn ko‘rinishida saqlash va uzatish uchun ishlatiladigan yengil format. JSON inglizcha JavaScript Object Notation so‘zlarining qisqartmasi bo‘lib, dasturlar o‘rtasida ma’lumot almashishda keng qo‘llanadi.

JSON odam uchun o‘qilishi oson, dasturlar uchun esa qayta ishlashga qulay format hisoblanadi. U web API, konfiguratsiya fayllari, frontend-backend aloqasi, mobil ilovalar va server javoblarida ko‘p ishlatiladi.

Vazifasi

JSON ma’lumotlarni tartibli ko‘rinishda ifodalash uchun ishlatiladi.

JSON quyidagi vazifalarda qo‘llanadi:

  • API javoblarini uzatish;
  • frontend va backend o‘rtasida ma’lumot almashish;
  • konfiguratsiya ma’lumotlarini saqlash;
  • mobil ilova va server aloqasida foydalanish;
  • database’dan olingan ma’lumotni clientga yuborish;
  • webhook ma’lumotlarini qabul qilish;
  • log yoki sozlama fayllarida ma’lumot saqlash.

Masalan, server foydalanuvchi ma’lumotini JSON ko‘rinishida frontendga yuborishi mumkin.

JSON qanday ko‘rinadi?

JSON kalit va qiymat juftliklari orqali yoziladi.

Misol:

{"id": 1, "name": "Ali", "active": true}

Bu yerda:

  • id — kalit;
  • 1 — qiymat;
  • name — kalit;
  • "Ali" — qiymat;
  • active — kalit;
  • true — qiymat.

JSON’da kalitlar odatda qo‘shtirnoq ichida yoziladi.

JSON obyekt

JSON obyekt {} belgilar orasida yoziladi. Obyekt ichida kalit va qiymatlar bo‘ladi.

Misol:

{"name": "Vali", "age": 25, "city": "Toshkent"}

JSON obyekt quyidagi ma’lumotlarni ifodalashi mumkin:

  • foydalanuvchi profili;
  • mahsulot ma’lumoti;
  • maqola;
  • buyurtma;
  • konfiguratsiya;
  • API javobi.

Masalan, foydalanuvchi profili JSON obyekt sifatida yuborilishi mumkin.

JSON array

JSON array [] belgilar orasida yoziladi. Array bir nechta qiymat yoki obyektlarni ro‘yxat ko‘rinishida saqlaydi.

Misol:

["Python", "JavaScript", "Go"]

Obyektlardan iborat array:

[{"id": 1, "name": "Ali"}, {"id": 2, "name": "Vali"}]

Array quyidagi holatlarda ishlatiladi:

  • foydalanuvchilar ro‘yxati;
  • mahsulotlar ro‘yxati;
  • kategoriyalar;
  • maqolalar;
  • kommentlar;
  • xabarlar;
  • fayllar ro‘yxati.

API’da ro‘yxat ko‘rinishidagi ma’lumotlar ko‘pincha JSON array sifatida qaytariladi.

JSON ma’lumot turlari

JSON bir nechta asosiy ma’lumot turini qo‘llab-quvvatlaydi.

JSON’da ishlatiladigan turlar:

  • string — matn;
  • number — son;
  • booleantrue yoki false;
  • object — kalit-qiymat ko‘rinishidagi obyekt;
  • array — ro‘yxat;
  • null — qiymat yo‘qligini bildiradi.

Misol:

{"title": "API", "views": 120, "published": true, "tags": ["web", "backend"], "author": null}

Bu JSON ichida string, number, boolean, array va null qiymatlar mavjud.

String

JSON’da matn qiymatlar qo‘shtirnoq ichida yoziladi.

Misol:

{"language": "Uzbek"}

String qiymatlar quyidagilarni saqlashi mumkin:

JSON’da string qiymatlar odatda qo‘shtirnoq bilan yoziladi.

Number

JSON’da sonlar qo‘shtirnoqsiz yoziladi.

Misol:

{"price": 150000, "rating": 4.8}

Number quyidagi ma’lumotlar uchun ishlatiladi:

  • ID;
  • narx;
  • yosh;
  • miqdor;
  • reyting;
  • sahifa raqami;
  • umumiy son;
  • koordinata.

Agar son qo‘shtirnoq ichida yozilsa, u matn sifatida qabul qilinadi.

Boolean

JSON’da boolean qiymatlar true yoki false ko‘rinishida yoziladi.

Misol:

{"is_active": true, "is_admin": false}

Boolean quyidagi holatlarni ifodalashda ishlatiladi:

  • foydalanuvchi faol yoki faol emasligi;
  • email tasdiqlangani;
  • admin huquqi borligi;
  • mahsulot mavjudligi;
  • sozlama yoqilgan yoki o‘chirilgani.

Null

JSON’da null qiymat yo‘q yoki hali belgilanmagan ma’lumotni bildiradi.

Misol:

{"phone": null}

Bu misolda phone kaliti bor, lekin uning qiymati mavjud emas.

null quyidagi holatlarda ishlatilishi mumkin:

  • ma’lumot hali kiritilmagan;
  • qiymat mavjud emas;
  • bog‘langan obyekt topilmagan;
  • ixtiyoriy maydon bo‘sh;
  • server javobida qiymat yo‘qligi ko‘rsatilgan.

Nested JSON

JSON ichida boshqa obyekt yoki array bo‘lishi mumkin. Bu nested JSON deyiladi.

Misol:

{"user": {"id": 1, "name": "Ali"}, "roles": ["admin", "editor"]}

Nested JSON murakkab ma’lumotlarni ifodalash uchun ishlatiladi.

Masalan:

  • foydalanuvchi va uning profili;
  • mahsulot va kategoriyasi;
  • buyurtma va mahsulotlari;
  • maqola va muallifi;
  • kompaniya va xodimlari.

API’da JSON

Zamonaviy REST API’larda JSON eng ko‘p ishlatiladigan formatlardan biridir. Client serverga JSON yuboradi, server esa JSON javob qaytaradi.

API’da JSON quyidagi joylarda ishlatiladi:

Masalan, login so‘roviga server quyidagicha javob qaytarishi mumkin:

{"access_token": "abc123", "token_type": "Bearer"}

JSON va JavaScript

JSON sintaksisi JavaScript obyektlariga o‘xshaydi, lekin JSON mustaqil ma’lumot formati hisoblanadi. U faqat JavaScript’da emas, Python, PHP, Java, Go, C#, Ruby va boshqa ko‘plab tillarda ishlatiladi.

JavaScript’da JSON bilan ishlashda ko‘p uchraydigan metodlar:

  • JSON.parse() — JSON matnni obyektga aylantiradi;
  • JSON.stringify() — obyektni JSON matnga aylantiradi.

Masalan, serverdan kelgan JSON frontendda obyekt sifatida ishlatilishi mumkin.

JSON va XML farqi

JSON va XML ikkalasi ham ma’lumot almashish formatlari, lekin ularning yozilishi farq qiladi.

  • JSON qisqaroq va o‘qilishi osonroq;
  • XML teglar asosida yoziladi;
  • JSON web API’larda ko‘proq ishlatiladi;
  • XML eski enterprise tizimlar, SOAP xizmatlar va ayrim konfiguratsiyalarda uchraydi;
  • JSON JavaScript bilan tabiiyroq ishlaydi;
  • XML ko‘proq rasmiy strukturaga ega.

JSON zamonaviy web va mobile ilovalarda keng tarqalgan format hisoblanadi.

JSON fayl

JSON ma’lumotlari .json kengaytmali fayllarda saqlanishi mumkin.

JSON fayllar quyidagi joylarda uchraydi:

  • konfiguratsiya fayllari;
  • package ma’lumotlari;
  • lokal ma’lumotlar;
  • test ma’lumotlari;
  • API mock javoblari;
  • export qilingan ma’lumotlar;
  • til tarjima fayllari.

Masalan, JavaScript loyihalarida package.json fayli loyiha nomi, versiyasi, paketlari va skriptlarini saqlaydi.

JSON sintaksis qoidalari

JSON to‘g‘ri ishlashi uchun ma’lum sintaksis qoidalariga amal qiladi.

Asosiy qoidalar:

  • kalitlar qo‘shtirnoq ichida yoziladi;
  • string qiymatlar qo‘shtirnoq ichida bo‘ladi;
  • obyekt {} bilan yoziladi;
  • array [] bilan yoziladi;
  • kalit va qiymat orasida : qo‘yiladi;
  • elementlar , bilan ajratiladi;
  • oxirgi elementdan keyin ortiqcha vergul qo‘yilmaydi.

Masalan, quyidagi yozuv noto‘g‘ri bo‘lishi mumkin:

{"name": "Ali",}

Chunki oxirgi qiymatdan keyin ortiqcha vergul bor.

Dasturlashdagi o‘rni

JSON dasturlashda ma’lumot almashishning asosiy formatlaridan biri hisoblanadi. U backend, frontend, mobile, DevOps va integratsiya jarayonlarida ishlatiladi.

JSON quyidagi joylarda ko‘p uchraydi:

Masalan, FastAPI, Django REST Framework, Express.js va Laravel API’lari ko‘pincha JSON formatida javob qaytaradi.

Bog‘liq tushunchalar

API, REST API, HTTP, HTTPS, JavaScript, Frontend, Backend, Database, NoSQL, XML, Webhook, OpenAPI