JSON grammatikasi shu qadar kichikki, uni bitta kartochkaga sig'dirsa bo'ladi: value = object | array | string | number | true | false | null.
object = "{" [ member *( "," member ) ] "}" member = string ":" value array = "[" [ value *( "," value ) ] "]" number = [ "-" ] int [ frac ] [ exp ] ws = *( space | tab | LF | CR )
| Nozik holat | Haqiqat |
|---|---|
| Ildizda 42 yoki "salom" | RFC 8259 bo'yicha to'g'ri JSON |
| Kalitlar tartibi | Saqlanishi kafolatlanmaydi — tartibga tayanma |
| Kodlash | UTF-8 majburiy; BOM yuborma |
| Bo'sh kalit "" | To'g'ri, lekin chalkash |
| -0 | To'g'ri raqam, lekin 0 ga teng deb hisoblanadi |
| Juda chuqur nesting | Standart limit qo'ymaydi, parserlar qo'yadi |
| Comment | Hech qachon — hatto bitta ham |
Interop tuzoqlari
Turli tillar bir xil JSON'ni turlicha o'qishi mumkin: Python True→true, PHP bo'sh massiv→[] yoki {}, Go nil map→null. Kontraktni schema bilan qot.
Usta bo'lish mezoni
Hujjatni ko'rib, uning schemasini boshingda tuza olsang; xatoni ko'rib, parser nima deyishini oldindan ayta olsang — sen ustasan. Endi Tasklar va AI murabbiy bo'limiga o't.
🛠 Mashq: Ildizda massiv bo'lgan, ichida turli tipli elementlar bo'lgan hujjat yoz.