JSON sintaksisi

JSON tuzilgan ma’lumotlarni ifodalash uchun juda oddiy sintaksisga ega.

Bitta JSON hujjati bitta JSON qiymatidan iborat.

Qiymat quyidagicha bo‘lishi mumkin:

  • Obyekt
  • Massiv
  • String
  • Son
  • Mantiqiy qiymat (Boolean)
  • yoki null

JSON obyekt literallari

Bu JSON stringi:

'{"name":"John", "age":30, "car":null}'

JSON stringi ichida JSON obyekt literali bor:

{"name":"John", "age":30, "car":null}

JSON obyekti jingalak qavslar { } orasida yoziladi.

Obyekt nol yoki undan ortiq xususiyatni o‘z ichiga oladi.

Xususiyatlar vergul bilan ajratilgan kalit/qiymat juftliklarida keladi.

Kalit nomlari — qo‘shtirnoq ichiga olingan stringlar.

Kalitlar va qiymatlar ikki nuqta bilan ajratiladi.

JSON Object

Qiymatlar yaroqli JSON ma’lumot tipida bo‘lishi kerak. JSON olti xil qiymat tipini qo‘llab-quvvatlaydi:

Qiymat Misol
String "John"
Number 42
Boolean true
Null null
Object {"name" : "John"}
Array [1, 2, 3]

JSON obyektini "JSON obyekti" deb atash keng tarqalgan xatodir.

JSON obyekt bo‘la olmaydi. JSON — bu string formati.

Ma’lumotlar faqat JSON string formatida bo‘lsa.

JSON obyekti literali JavaScript o‘zgaruvchisiga aylantirilsa, u JavaScript obyektiga aylanadi.


ULASHISH

JSON massiv literallari

Bu JSON stringi:

'["Ford", "BMW", "Fiat"]'

JSON stringi ichida JSON massiv literali bor:

["Ford", "BMW", "Fiat"]

Boshqa misollar

[
  "Apple",
  "Banana",
  "Orange"
]
[1, 2, 3, 4 ,5]

JSON massivi kvadrat qavslar [ ] orasida yoziladi.

Massivda nol yoki undan ortiq qiymatlar mavjud.

Qiymatlar vergul bilan ajratiladi.

JSON Object

Qiymatlar oltita JSON ma’lumotlar turlaridan biri bo‘lishi mumkin:

Qiymat Misol
String "John"
Number 42
Boolean true
Null null
Object {"name" : "John"}
Array [1, 2, 3]


JSON sintaksisi JavaScript obyekt belgilari sintaksisidan olingan:

  • Curly braces hold objects
  • Xususiyatlar nom/qiymat juftliklarida keladi
  • Xususiyatlar vergul bilan ajratiladi
  • Square brackets hold arrays
  • Stringlar qo‘shtirnoq ichida bo‘ladi

Biroq JSON JavaScript obyektlariga qaraganda qat’iyroq sintaksis qoidalariga ega.


JSON nimalarga ruxsat bermaydi

JSON kichik va qat’iy sintaksisga ega.

Quyidagi JavaScript funksiyalari yaroqli JSON emas:

Feature JSON JS
Unquoted property names Yo‘q Ha
Single quoted strings Yo‘q Ha
Trailing commas Yo‘q Ha
Comments Yo‘q Ha

JSON xususiyat nomlari

Har bir xususiyat nomi string bo‘lishi kerak.

Xususiyat nomlari qo‘shtirnoq ichiga olinishi kerak.

Valid:

{
  "name": "John"
}

Invalid:

{
  name: "John"
}

JSON stringlari

JSON stringlari qo‘shtirnoqdan foydalanishi kerak.

Valid:

{
  "city": "London"
}

Invalid:

{
  "city": 'London'
}

Whitespace

Stringlardan tashqaridagi bo‘sh joylar e’tiborga olinmaydi.

JSON faylini o‘qishni osonlashtirish uchun siz bo‘shliqlar, yorliqlar va qatorlardan foydalanishingiz mumkin.

Misol

{"name":"John", "age":30}

Ekvivalent JSON

{
  "name": "John",
  "age": 30
}

Yakuniy vergullar

JSON oxirgi xususiyat yoki massiv qiymatidan keyin vergul qo‘yishga ruxsat bermaydi.

Wrong:

{
  "name": "John",
  "age": 30,
}

To‘g‘ri:

{
  "name": "John",
  "age": 30
}

Izohlarga ruxsat berilmaydi

JSON izohlarni qo‘llab-quvvatlamaydi.

Wrong

{
  // Customer name
  "name": "John"
}


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!