Tech Help
Kurakurai na JSON da aka saba: koma ta ƙarshe, ƙirari da Unexpected token
Gyara JSON mara inganci: koma ta ƙarshe, ƙirari guda, maɓallan ba tare da ƙirari ba da Unexpected token. Me yasa JSON.parse ke gaza da yadda za a tabbatar da JSON.
Yawancin kurakuran JSON suna zuwa daga ƙa'idodi masu tsauri: koma ta ƙarshe, ƙirari guda, sunayen sifa ba tare da ƙirari ba, koma da ta ɓace, madaidaitan bakuna, escape mara inganci ko tsokaci.
JSON tana kama da abu na JavaScript, amma tana da tsauri. Sunayen sifa da jeri suna buƙatar ƙirari biyu.
Idan ka ga Unexpected token, harafin da aka ruwaito na iya zama inda nazarin ya tsaya—ba dole ba inda kuskuren asali ya fara.
An yi wa JSON ɗinka alama mara inganci. Yawanci ƙaramin matsala ne na nahawu, ba tsarin fayil da ya lalace ba. Kurakurai bakwai da ke ƙasa suna haifar da yawancin Unexpected token.
Me yasa JSON ke lalacewa da sauƙi?
JSON tsarin bayanai ne mai nahawu mai tsauri. Literali na abu na JavaScript na iya kama da iri ɗaya amma har yanzu JSON mara inganci. A cikin JSON daidai, sunayen sifa da jeri suna buƙatar ƙirari biyu, ba a yarda da koma ta ƙarshe ba, kuma tsokaci ba ɓangare na tsari ba ne.
1. Komomi na ƙarshe
Koma ƙari bayan sifa ta ƙarshe ita ce matsala. JSON daidai ba ta yarda da ita ba.
Mara inganci
{
"name": "Alex",
"age": 30,
}
Mai inganci
{
"name": "Alex",
"age": 30
}
Wannan ƙa’idar tana shafar jeri. Cire koma bayan abu na ƙarshe.
Mara inganci
[
"red",
"green",
]
Mai inganci
[
"red",
"green"
]
2. Ƙirari guda maimakon biyu
JavaScript sau da yawa tana karɓar ƙirari guda. JSON ba ta. Sunayen sifa da ƙimar jeri dole su yi amfani da ƙirari biyu.
Mara inganci
{
'name': 'Alex'
}
Mai inganci
{
"name": "Alex"
}
3. Sunayen sifa ba tare da ƙirari ba
A JavaScript wani lokaci za ka iya rubuta name ba tare da ƙirari ba. A JSON kowace suna ta sifa dole ta zama jeri mai ƙirari biyu.
Mara inganci
{
name: "Alex",
age: 30
}
Mai inganci
{
"name": "Alex",
"age": 30
}
4. Komomi da suka ɓace tsakanin ƙima
Sifa da abubuwan jeri suna buƙatar koma a tsakanin. Mai nazarin na iya ruwaito Unexpected token a ƙirari ko bakin da ke gaba, ba a koma da ta ɓace ba.
Mara inganci
{
"name": "Alex"
"age": 30
}
Mai inganci
{
"name": "Alex",
"age": 30
}
5. Bakuna da suka ɓace ko ƙari
Abubuwa suna amfani da { }. Jeri suna amfani da [ ]. JSON da aka sa a ciki sau da yawa tana gaza lokacin da ] ta ɓace, } ta fi, ko an musanya su. Ƙidaya nau’i na buɗewa da rufewa.
Mara inganci
{
"items": [1, 2
}
Mai inganci
{
"items": [1, 2]
}
6. Jeri na escape mara inganci
A cikin jerin JSON, layin baya yana fara escape. Jeri kamar ", \ da \n suna da inganci. Hanyar Windows da aka rubuta C:\Users ba ta: \U ba escape na JSON mai doka ba ce. Ninka layukan baya, in ba haka ba mai nazarin yana tsayawa a waccan harafin.
Mara inganci
{"file":"C:\Users\Alex"}
Mai inganci
{"file":"C:\\Users\\Alex"}
7. Tsokaci a cikin JSON
JSON daidai ba ta da tsokaci. Wasu kayan aikin saiti suna karɓar // ko /* */ (JSONC, JSON5 da makamantan). Wannan ba JSON daidai ba ce, kuma JSON.parse za ta ƙi.
Mara inganci
{
// user name
"name": "Alex"
}
Me Unexpected token ke nufi?
Mai nazarin ya haɗu da harafi da ba a yarda da shi ba a waccan matsayi. Wurin da aka ruwaito shine inda karatu ya tsaya. Idan ka bar koma a baya, kuskure na iya nuna ƙirarin sifa ta gaba. Kalmomi suna bambanta da yanayin aiki; kada ka yi tsammanin kowace burauza za ta buga jumla ɗaya.
Me Unexpected end of JSON input ke nufi?
Rubutu ya ƙare kafin ƙima ta cika. Dalilai na yau da kullum: } ko ] ta ɓace, shigarwa da aka yanke, jiki mara komai, ko amsar API da ta katse. Ba kuskure ɗaya ba ne.
Me yasa JSON.parse() ke gaza?
JSON.parse() tana karɓar rubutun JSON mai inganci kawai. Wannan yana nasara:
const text = '{"name":"Alex"}';
const data = JSON.parse(text);
Wannan yana gaza, saboda ƙirari guda ba JSON ba ce:
const text = "{'name':'Alex'}";
JSON.parse(text);
Saƙon kuskure daidai ya dogara da yanayin aiki na JavaScript. Ɗauki saƙon a matsayin alama, sa’an nan duba koma, ƙirari da bakuna kusa da waccan matsayi.
Literali na abu na JavaScript na iya kama da { name: 'Alex' }. JSON mai inganci dole ta kama da { "name": "Alex" }: sunaye da jeri masu ƙirari biyu, babu koma ta ƙarshe, babu tsokaci.
- Rubutun JSON
- Mai nazarin yana karanta alamomi
- Bayanai masu inganci ko Unexpected token
Yadda za a sami kuskuren JSON da sauri
Yi aiki a wannan tsari. Kada ka fara da sake rubuta fayil ɗin gaba ɗaya.
- Gudanar da JSON ta hanyar mai tabbatarwa.
- Karanta kuskuren farko da aka ruwaito.
- Duba kaɗan kafin matsayin da aka ruwaito.
- Duba komomi, musamman na ƙarshe da waɗanda suka ɓace.
- Duba ƙirari: biyu kawai.
- Daidaita { } da [ ].
- Duba escape na layin baya a cikin jeri.
- Cire tsokaci idan kana buƙatar JSON mai tsauri.
Taswirar sauri na gyare-gyare na yau da kullum:
| Matsala | Gyara |
|---|---|
| Koma ta ƙarshe | Share koma bayan abu na ƙarshe. |
| Ƙirari guda | Yi amfani da ƙirari biyu don sunaye da jeri. |
| Maɓalli ba tare da ƙirari ba | Nannade sunan sifa da ƙirari biyu. |
| Koma da ta ɓace | Sanya koma tsakanin sifa ko abubuwan jeri. |
| Baki da ya ɓace | Rufe kowane nau'i na { } da [ ]. |
| Escape mara inganci | Yi amfani da escape mai doka, ko ninka layukan baya a hanyoyi. |
| Tsokaci | Cire // da /* */ don JSON daidai. |
Tabbatar kuma tsara JSON a cikin burauza
NEXNARA Gyara da kwatanta JSON na iya duba JSON a wannan na’ura.
Za ka iya tabbatarwa, kyautata da sarari 2, sarari 4 ko tab, minify, kwatanta takardu biyu (JSON Diff), da buɗe fayil .json. Nazari yana amfani da JSON.parse a cikin burauza, ba eval ba.
Takardu da suka fi 5 MB na iya jin jinkiri. Rubutu da ya fi 15 MB ba a sarrafa shi a cikin burauza ba, don shafin ya ci gaba da amsawa.
Sarrafa JSON kanta tana faruwa a cikin burauzarka. Ba a aika rubutu zuwa uwar garken NEXNARA don wannan kayan aiki ba. Talla da sauran fasalolin rukunin yanar gizo har yanzu suna amfani da hanyar sadarwa; hakan ya bambanta da sarrafawa.
Kana buƙatar duba JSON mara inganci? Buɗe Gyara da kwatanta JSON ka manna rubutu.
FAQ
Me yasa JSON ɗina ke cewa Unexpected token?
Mai nazarin ya haɗu da harafi da ba a yarda da shi ba a wurin. Kuskuren gaske—sau da yawa koma da ta ɓace ko ƙirari guda—na iya zama kafin waccan matsayi.
Shin an yarda da komomi na ƙarshe a JSON?
A’a. JSON daidai ba ta yarda da koma bayan sifa ko abu na ƙarshe na jeri ba. Literali na abubuwan JavaScript sau da yawa suna yarda.
Shin JSON na iya amfani da ƙirari guda?
A’a. Sunayen sifa da jeri dole su yi amfani da ƙirari biyu.
Shin JSON na iya ƙunshe da tsokaci?
A’a a cikin JSON daidai. Wasu kayan aiki suna karɓar JSONC ko JSON5 da tsokaci; JSON.parse har yanzu tana ƙin su.
Me yasa JSON.parse() ke gaza?
Jeri ba JSON mai inganci ba ne. Dalilai na yau da kullum su ne koma ta ƙarshe, ƙirari guda, maɓallan ba tare da ƙirari ba, tsokaci, ko ƙima da aka yanke. Saƙon daidai ya dogara da yanayin aiki.
Yaya zan duba ko JSON tana da inganci?
Manna a cikin mai tabbatarwa kamar Gyara da kwatanta JSON, ko kira JSON.parse a cikin konsol. Idan nazarin ya jefa, rubutu ba JSON mai inganci ba ne.