Tech Help
Odatiy JSON xatolari: oxirgi vergul, qo‘shtirnoq va Unexpected token
Noto‘g‘ri JSON ni tuzating: oxirgi vergul, yakka qo‘shtirnoq, qo‘shtirnoqsiz kalitlar va Unexpected token. JSON.parse nima uchun muvaffaqiyatsiz va JSON ni qanday tekshirish.
Ko‘p JSON xatolari qat’iy qoidalardan keladi: oxirgi vergul, yakka qo‘shtirnoq, qo‘shtirnoqsiz xossa nomlari, yo‘qolgan vergul, mos kelmaydigan qavslar, noto‘g‘ri escape yoki izohlar.
JSON JavaScript obyektiga o‘xshaydi, lekin qat’iyroq. Xossa nomlari va qatorlar qo‘shaloq qo‘shtirnoq talab qiladi.
Unexpected token ko‘rsangiz, xabar qilingan belgi tahlil to‘xtagan joy bo‘lishi mumkin—asl xato boshlangan joy emas.
JSON ingiz noto‘g‘ri deb belgilangan. Odatda kichik sintaksis muammo, buzilgan fayl formati emas. Pastdagi yetti xato ko‘p Unexpected token ni keltirib chiqaradi.
JSON nima uchun bunchalik oson sinadi?
JSON qat’iy sintaksisli ma’lumot formati. JavaScript obyekt literali o‘xshash ko‘rinib ham noto‘g‘ri JSON bo‘lishi mumkin. Standart JSON da xossa nomlari va qatorlar qo‘shaloq qo‘shtirnoq talab qiladi, oxirgi vergul ruxsat etilmaydi, izohlar formatning qismi emas.
1. Oxirgi vergullar
Oxirgi xossadan keyingi qo‘shimcha vergul muammo. Standart JSON buni ruxsat etmaydi.
Noto‘g‘ri
{
"name": "Alex",
"age": 30,
}
To‘g‘ri
{
"name": "Alex",
"age": 30
}
Xuddi shu qoida massivlarga ham tegishli. Oxirgi elementdan keyin vergulni olib tashlang.
Noto‘g‘ri
[
"red",
"green",
]
To‘g‘ri
[
"red",
"green"
]
2. Qo‘shaloq o‘rniga yakka qo‘shtirnoq
JavaScript tez-tez yakka qo‘shtirnoqni qabul qiladi. JSON qilmaydi. Xossa nomlari va qator qiymatlari qo‘shaloq qo‘shtirnoq ishlatishi kerak.
Noto‘g‘ri
{
'name': 'Alex'
}
To‘g‘ri
{
"name": "Alex"
}
3. Qo‘shtirnoqsiz xossa nomlari
JavaScript da ba’zan name ni qo‘shtirnoqsiz yozish mumkin. JSON da har bir xossa nomi qo‘shaloq qo‘shtirnoqli qator bo‘lishi kerak.
Noto‘g‘ri
{
name: "Alex",
age: 30
}
To‘g‘ri
{
"name": "Alex",
"age": 30
}
4. Qiymatlar orasida yo‘qolgan vergul
Xossalar va massiv elementlari orasida vergul kerak. Tahlilchi Unexpected token ni keyingi qo‘shtirnoq yoki qavsda xabar qilishi mumkin, yo‘qolgan vergulning o‘zida emas.
Noto‘g‘ri
{
"name": "Alex"
"age": 30
}
To‘g‘ri
{
"name": "Alex",
"age": 30
}
5. Yetishmagan yoki ortiqcha qavslar
Obyektlar { } ishlatadi. Massivlar [ ]. Ichma-ich JSON tez-tez ] yetishmasa, } ortiqcha bo‘lsa yoki ikkalasi almashtirilsa muvaffaqiyatsiz bo‘ladi. Ochilish va yopilish juftlarini sanang.
Noto‘g‘ri
{
"items": [1, 2
}
To‘g‘ri
{
"items": [1, 2]
}
6. Noto‘g‘ri escape ketma-ketliklari
JSON qatorida teskari egri chiziq escape boshlaydi. ", \ va \n kabi ketma-ketliklar to‘g‘ri. C:\Users deb yozilgan Windows yo‘li emas: \U qonuniy JSON escape emas. Teskari egri chiziqlarni ikki barobar qiling, aks holda tahlilchi o‘sha belgidа to‘xtaydi.
Noto‘g‘ri
{"file":"C:\Users\Alex"}
To‘g‘ri
{"file":"C:\\Users\\Alex"}
7. JSON ichidagi izohlar
Standart JSON da izoh yo‘q. Ba’zi sozlash vositalari // yoki /* */ qabul qiladi (JSONC, JSON5 va o‘xshash). Bu standart JSON emas va JSON.parse rad etadi.
Noto‘g‘ri
{
// user name
"name": "Alex"
}
Unexpected token nima degani?
Tahlilchi o‘sha o‘rinda ruxsat etilmagan belgi uchratdi. Xabar qilingan nuqta o‘qish to‘xtagan joy. Avvalroq vergul qoldirsangiz, xato keyingi xossaning qo‘shtirnog‘iga ishora qilishi mumkin. Ifoda ish vaqtiga qarab o‘zgaradi; har brauzer bir xil jumla chop etishini kutmang.
Unexpected end of JSON input nima degani?
Matn qiymat tugashidan oldin tugadi. Odatiy sabablar: yetishmagan } yoki ], kesilgan kiritma, bo‘sh tana yoki uzilgan API javobi. Bitta xato emas.
JSON.parse() nima uchun muvaffaqiyatsiz?
JSON.parse() faqat to‘g‘ri JSON matnini qabul qiladi. Bu muvaffaqiyatli:
const text = '{"name":"Alex"}';
const data = JSON.parse(text);
Bu muvaffaqiyatsiz, chunki yakka qo‘shtirnoq JSON emas:
const text = "{'name':'Alex'}";
JSON.parse(text);
Aniq xato xabari JavaScript ish vaqtiga bog‘liq. Xabarni ishora deb oling, so‘ng o‘sha o‘rin yaqinidagi vergul, qo‘shtirnoq va qavslarni tekshiring.
JavaScript obyekt literali { name: 'Alex' } kabi ko‘rinishi mumkin. To‘g‘ri JSON { "name": "Alex" } kabi ko‘rinishi kerak: qo‘shaloq qo‘shtirnoqli nomlar va qatorlar, oxirgi vergul yo‘q, izoh yo‘q.
- JSON matni
- Tahlilchi belgilarni o‘qiydi
- To‘g‘ri ma’lumot yoki Unexpected token
JSON xatosini tez qanday topish
Shu tartibda ishlang. Butun faylni qayta yozishdan boshlamang.
- JSON ni tekshiruvchidan o‘tkazing.
- Birinchi xabar qilingan xatoni o‘qing.
- Xabar qilingan o‘rindan biroz oldin qarang.
- Vergullarni tekshiring, ayniqsa oxirgi va yo‘qolganlarini.
- Qo‘shtirnoqlarni tekshiring: faqat qo‘shaloq.
- { } va [ ] ni moslashtiring.
- Qatorlardagi teskari egri chiziq escape larini tekshiring.
- Qat’iy JSON kerak bo‘lsa izohlarni olib tashlang.
Odatiy tuzatishlarning tez xaritasi:
| Muammo | Tuzatish |
|---|---|
| Oxirgi vergul | Oxirgi elementdan keyin vergulni o‘chiring. |
| Yakka qo‘shtirnoq | Nomlar va qatorlar uchun qo‘shaloq qo‘shtirnoq ishlating. |
| Qo‘shtirnoqsiz kalit | Xossa nomini qo‘shaloq qo‘shtirnoqqa o‘rang. |
| Yo‘qolgan vergul | Xossalar yoki massiv elementlari orasiga vergul qo‘ying. |
| Yetishmagan qavs | Har { } va [ ] juftini yoping. |
| Noto‘g‘ri escape | Qonuniy escape ishlating yoki yo‘llarda teskari egri chiziqlarni ikki barobar qiling. |
| Izoh | Standart JSON uchun // va /* */ ni olib tashlang. |
Brauzerda JSON ni tekshiring va formatlang
NEXNARA JSON formatlash va solishtirish ushbu qurilmada JSON ni tekshira oladi.
Tekshirishingiz, 2 bo‘shliq, 4 bo‘shliq yoki tab bilan chiroyli qilishingiz, minify, ikki hujjatni solishtirishingiz (JSON Diff) va .json fayl ochishingiz mumkin. Tahlil brauzerda JSON.parse ishlatadi, eval emas.
5 MB dan katta hujjatlar sekin tuyulishi mumkin. 15 MB dan katta matn brauzerda qayta ishlanmaydi, sahifa javob beradigan bo‘lib qolishi uchun.
JSON qayta ishlashning o‘zi brauzeringizda bo‘ladi. Bu vosita uchun matn NEXNARA serveriga yuborilmaydi. Reklama va saytning boshqa imkoniyatlari hali tarmoq ishlatadi; bu qayta ishlashdan alohida.
Noto‘g‘ri JSON ni tekshirmoqchimisiz? JSON formatlash va solishtirish ni oching va matnni joylashtiring.
FAQ
JSON im nima uchun Unexpected token deydi?
Tahlilchi u yerda ruxsat etilmagan belgi uchratdi. Haqiqiy xato—ko‘pincha yo‘qolgan vergul yoki yakka qo‘shtirnoq—o‘sha o‘rindan biroz oldin o‘tirishi mumkin.
JSON da oxirgi vergullarga ruxsat bormi?
Yo‘q. Standart JSON oxirgi xossa yoki massiv elementidan keyin vergulga ruxsat etmaydi. JavaScript obyekt literallari ko‘pincha ruxsat etadi.
JSON yakka qo‘shtirnoq ishlata oladimi?
Yo‘q. Xossa nomlari va qatorlar qo‘shaloq qo‘shtirnoq ishlatishi kerak.
JSON izoh saqlashi mumkinmi?
Standart JSON da yo‘q. Ba’zi vositalar izohli JSONC yoki JSON5 ni qabul qiladi; JSON.parse baribir rad etadi.
JSON.parse() nima uchun muvaffaqiyatsiz?
Qator to‘g‘ri JSON emas. Odatiy sabablar oxirgi vergul, yakka qo‘shtirnoq, qo‘shtirnoqsiz kalitlar, izohlar yoki kesilgan qiymat. Aniq xabar ish vaqtiga bog‘liq.
JSON to‘g‘riligini qanday tekshiraman?
JSON formatlash va solishtirish kabi tekshiruvchiga joylashtiring yoki konsolda JSON.parse chaqiring. Tahlil tashlasa, matn to‘g‘ri JSON emas.