JSON grammatikasi raqam uchun juda sodda: ixtiyoriy minus, butun qism, ixtiyoriy kasr, ixtiyoriy eksponenta. 007, +5, .5, 5., 0x1F, 1_000 โ hammasi XATO.
{ "butun": -42, "kasr": 3.14, "eksponenta": 6.02e23, "nol": 0 }
Aniqlik tuzog'i
JS'da JSON.parse raqamni double (IEEE-754) qiladi. 9007199254740993 โ 9007199254740992 bo'lib ketadi. Katta ID'larni STRING sifatida saqla.
Pul: 19.99 o'rniga tiyinda butun son saqlash yoki string sifatida "19.99" saqlash tavsiya etiladi โ suzuvchi nuqta xatolari moliyaviy hisobni buzadi.
NaN va Infinity
Standart ularni taqiqlaydi. Ba'zi parserlar ruxsat beradi (non-standard rejim) โ bunga tayanma, null yoki string ishlat.
๐ Mashq: Katta ID'ni to'g'ri saqlab ko'r.