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.
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.
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.
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!
