Tech Help

Kí ló ṣe jẹ́ kí JSON.parse sọ "Unexpected token"?

JSON.parse ju Unexpected token nígbà tí ọ̀rọ̀ kì í ṣe JSON tó tọ́. Tún àmì ọ̀rọ̀ ẹyọ, kọ́mà ìkẹyìn, ìdáhùn HTML, àti ibi àṣìṣe ṣe.

Ìdáhùn kíákíá

JSON.parse() ju SyntaxError nígbà tí ìgbéwọlé kì í ṣe JSON tó tọ́. “Unexpected token” nígbà gbogbo túmọ̀ sí pé ẹni túpalẹ̀ dé lẹ́tà tí a kò fàyè gba ní ibẹ̀ nínú ìlànà.

Ìdí tí ó wọ́pọ̀ ni àmì ọ̀rọ̀ ẹyọ, kọ́mà ìkẹyìn, orúkọ àbùdá láìsí àmì ọ̀rọ̀, escape ìlà tí kò tọ́, ọ̀rọ̀ àfikún yíká JSON, tàbí ìtúpalẹ̀ HTML tàbí ara mìíràn tí kì í ṣe JSON gẹ́gẹ́ bí JSON.

Ọ̀rọ̀ àṣìṣe gangan yàtọ̀ sí ẹ̀rọ JavaScript àti aṣàwákiri. Má ṣe ro pé gbogbo ìgbà ṣiṣẹ́ máa tẹ “Unexpected token X in JSON at position N”.

Èyí ni ìtúnṣe Unexpected token ti JSON.parse: ohun tí àṣìṣe túmọ̀ sí, bí a ṣe lè ka ibi, àti ohun tí a ó ṣe nígbà tí ara jẹ́ HTML. Ìkànsí gbooro sí i lórí kọ́mà ìkẹyìn, àmì ọ̀rọ̀, àti Unexpected end wà nínú Àṣìṣe JSON tí ó wọ́pọ̀: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ àti Unexpected token.

Kí ni “Unexpected token” túmọ̀ sí nínú JSON.parse()?

JSON.parse() nílò ẹ̀kọ́ ọ̀rọ̀ JSON. Lẹ́tà tí kò tọ́ lábẹ́ òfin ní ibi lọ́wọ́lọ́wọ́ ju SyntaxError. {“name”:“Alex”,} kò tọ́: lẹ́yìn kọ́mà yẹn ohun kò lè parí. Ọ̀rọ̀ ìfiránṣẹ́ àti ibi ṣì yàtọ̀ sí ìgbà ṣiṣẹ́.

Àṣìṣe wo ni JSON.parse() ju?

JSON tí kò tọ́ nígbà gbogbo ju SyntaxError. Kọ error.name láti jẹ́rìí irú. Má ṣe kọ error.message kíkún ní líle: ẹ̀rọ àti ẹ̀yà nlo ọ̀rọ̀ yàtọ̀.

try {
  JSON.parse('{"name":"Alex",}');
} catch (error) {
  console.log(error.name);
  // SyntaxError
}

1. Lílo àmì ọ̀rọ̀ ẹyọ dípò àmì ọ̀rọ̀ méjì

{‘name’:‘Alex’} jẹ́ JSON tí kò tọ́. {“name”:“Alex”} tọ́. Ìlà JSON àti orúkọ ọmọ ẹgbẹ́ ohun nlo àmì ọ̀rọ̀ méjì. Lítírà ohun JavaScript bí const user = { name: ‘Alex’ } lè jẹ́ JavaScript tó tọ́ lábẹ́ òfin ṣùgbọ́n ṣì kì í ṣe ọ̀rọ̀ JSON.

Kò tọ́

{'name':'Alex'}

Ó tọ́

{"name":"Alex"}

2. Àwọn kọ́mà ìkẹyìn

Kọ́mà lẹ́yìn àbùdá tàbí nkan àkójọ ìkẹyìn kì í ṣe JSON ìlànà tó tọ́. {“name”:“Alex”,“age”:30,} àti [1, 2, 3,] méjèèjì kùnà. Ka èyí sí ìdí Unexpected token kan; Àṣìṣe JSON tí ó wọ́pọ̀: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ àti Unexpected token ń ṣàkóso kọ́mà ìkẹyìn jinlẹ̀.

Kò tọ́

{
  "name": "Alex",
  "age": 30,
}

Ó tọ́

{
  "name": "Alex",
  "age": 30
}
[1, 2, 3,]

3. Orúkọ àbùdá láìsí àmì ọ̀rọ̀

{ name: “Alex” } lè jẹ́ lítírà ohun JavaScript. Nínú JSON, orúkọ ọmọ ẹgbẹ́ jẹ́ ìlà ó sì nílò àmì ọ̀rọ̀ méjì: {“name”:“Alex”}.

Kò tọ́

{
  name: "Alex"
}

Ó tọ́

{
  "name": "Alex"
}

4. Escape ìlà tí kò tọ́

Nínú ọ̀rọ̀ JSON ìlà ẹ̀yìn bẹ̀rẹ̀ escape. Ọ̀nà aìtúnṣe bí C:\Users\Alex kò tọ́ nítorí \U kì í ṣe escape tó tọ́ lábẹ́ òfin. Ṣe ìlà ẹ̀yìn méjì. Má ṣe da escape èdè-agbàlejo pọ̀ mọ́ escape JSON. Àṣìṣe JSON tí ó wọ́pọ̀: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ àti Unexpected token ń ṣàkóso èyí jinlẹ̀.

Kò tọ́

{"file":"C:\Users\Alex"}

Ó tọ́

{"file":"C:\\Users\\Alex"}

5. Ọ̀rọ̀ àfikún ṣáájú tàbí lẹ́yìn JSON

JSON.parse retí iye JSON kan. Àtẹ̀léwá bí Success: ṣáájú {“ok”:true}, tàbí ìparí bí done lẹ́yìn rẹ̀, sọ ìlà gbogbo di èyí tí kò tọ́. Àyè funfun tí kò ṣe pàtàkì yíká iye JSON kan ni a fàyè gba. A kò fi JSON léèwọ̀ kí ó máa ní àyè ṣáájú tàbí lẹ́yìn iye.

Success:
{"ok":true}
{"ok":true}
done

6. Ìtúpalẹ̀ HTML dípò JSON

Pípe response.json() lórí ojú-ìwé HTML jẹ́ ọ̀ràn Unexpected token tí ó wọ́pọ̀. Endpoint tí kò tọ́, ojú-ìwé HTML 404 tàbí 500, ìyípadà ìwọlé, ara aṣojú, àti ojú-ìwé àtìlẹ́yìn sábà bẹ̀rẹ̀ pẹ̀lú àmì. “Unexpected token < nígbà gbogbo túmọ̀ sí HTML” le jù: < jẹ́ ìtọ́sọ́nà, kì í ṣe ẹ̀rí.

fetch('/api/data')
  .then(response => response.json())

Kí ni “Unexpected token <” sábà túmọ̀ sí?

Iye JSON sábà kì í bẹ̀rẹ̀ pẹ̀lú <. Tí ara bá bẹ̀rẹ̀ pẹ̀lú tàbí , < lè jẹ́ lẹ́tà àkọ́kọ́ tí kò tọ́ lábẹ́ òfin. Nínú ìtúnṣe agbègbè, ṣàyẹ̀wò ipo HTTP, Content-Type, àti ara aìtúnṣe. Ọ̀rọ̀ ẹ̀rọ ṣì yàtọ̀.

Ṣàyẹ̀wò ìdáhùn kí o tó túpalẹ̀ rẹ̀

Ara fetch ni a lè lo lẹ́ẹ̀kan ṣoṣo. Nínú ìtúnṣe agbègbè, ka text() náà, ṣàyẹ̀wò àtẹ̀léwá kúkúrú, lẹ́yìn náà JSON.parse ìlà kannáà. Má ṣe pe response.json() lẹ́yìn náà response.text() lórí ìdáhùn kannáà. Má ṣe kọ ẹrù iṣelọpọ̀ tó ṣeéjẹ́ nínú àìléwu gẹ́gẹ́ bí ìpilẹ̀.

const response = await fetch(url);
const text = await response.text();

console.log(response.status);
console.log(response.headers.get("content-type"));
console.log(text.slice(0, 200));

try {
  const data = JSON.parse(text);
  console.log(data);
} catch (error) {
  console.error("Invalid JSON:", error);
}

Kí ni “at position 123” túmọ̀ sí?

Àwọn ẹ̀rọ kan ròyìn ibi, ìlà, tàbí òpó. Wá àmì ọ̀rọ̀, kọ́mà, àkọ́wé, tàbí escape tí kò dára nítòsí. Nọ́mbà yẹn ni ibi tí ìtúpalẹ̀ rí ìṣòro; ìdí gidi lè wà ṣáájú. A kò dájú pé ó jẹ́ lẹ́tà àṣìṣe gangan.

Unexpected token vs Unexpected end

Unexpected token túmọ̀ sí pé ẹni túpalẹ̀ pàdé lẹ́tà tí kò retí. Unexpected end lè farahàn nígbà tí ìgbéwọlé dúró kí iye tó pé, bí nínú {“name”:“Alex” láìsí àkọ́wé pípadé. Ọ̀rọ̀ gangan da lórí ẹ̀rọ. Àṣìṣe JSON tí ó wọ́pọ̀: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ àti Unexpected token ń ṣàkóso JSON tí kò pé ní ìbú gbooro.

{"name":"Alex"

JSON kì í ṣe bakannáà pẹ̀lú lítírà ohun JavaScript

JSON jẹ́ ìlànà dátà. Lítírà ohun JavaScript jẹ́ ẹ̀kọ́ ọ̀rọ̀ JavaScript. Ohun JS pẹ̀lú bọtìnì láìsí àmì ọ̀rọ̀, àmì ọ̀rọ̀ ẹyọ, àti kọ́mà ìkẹyìn kì í ṣe ọ̀rọ̀ JSON tó tọ́. JSON.parse kò lè túpalẹ̀ lítírà ohun JavaScript láìléwu.

const data = {
  name: 'Alex',
  active: true,
};
{
  "name": "Alex",
  "active": true
}

Ǹjẹ́ JSON lè ní àròsọ?

JSON ìlànà kò ṣètìlẹ́yìn àròsọ. Ìlà // nínú ohun kò tọ́. JSON5 àti àfikún irú rẹ̀ jẹ́ ìlànà mìíràn. Ṣeto ati fi JSON we ṣàyẹ̀wò JSON ìlànà pẹ̀lú JSON.parse kò sì ka JSON5 sí JSON.

{
  // user name
  "name": "Alex"
}

Ǹjẹ́ undefined, NaN, àti Infinity jẹ́ JSON tó tọ́?

Rárá. Iye JSON ni ohun, àkójọ, ìlà, nọ́mbà, true, false, àti null. undefined, NaN, àti Infinity kì í ṣe. Iye òkè kò ní láti jẹ́ ohun tàbí àkójọ: true, 123, “hello”, àti null jẹ́ JSON tó tọ́.

{"a":undefined}
{"a":NaN}
{"a":Infinity}
true
123
"hello"
null

Bí a ṣe lè tún àṣìṣe Unexpected token ṣe ní ìgbésẹ̀

Ṣiṣẹ́ lórí orísun, kì í ṣe ìlà àṣìṣe:

  1. Jẹ́rìí pé ìgbéwọlé jẹ́ JSON gangan, kì í ṣe HTML, àkọsílẹ̀, tàbí JavaScript.
  2. Ṣàyẹ̀wò lẹ́tà àkọ́kọ́ ti ìgbéwọlé aìtúnṣe.
  3. Tí ó bá wá láti API, ṣàyẹ̀wò ipo HTTP àti Content-Type. Bẹ́ẹ̀ni 200 bẹ́ẹ̀ni application/json kò dájú JSON tó tọ́.
  4. Ṣàyẹ̀wò ẹ̀kọ́ ọ̀rọ̀ nínú ẹni túpalẹ̀ JSON.
  5. Lo ibi, ìlà, tàbí òpó tí a ròyìn gẹ́gẹ́ bí ìtọ́sọ́nà, kì í ṣe ìdí gbòngbò tí a dájú.
  6. Ṣàyẹ̀wò àmì ọ̀rọ̀, kọ́mà, àkọ́wé, àkọ́wé onígun mẹ́rin, àti escape nítòsí ibẹ̀.
  7. Fi wé ẹ̀dà tí a ṣètò tí a sì ṣàyẹ̀wò.
  8. Tún olùtòlẹ́sẹẹsẹ tàbí endpoint ṣe. Má ṣe pa àmì tí a ròyìn lẹ́ẹ̀kọ̀ọ̀kan.
Má ṣe «tún» JSON ṣe nípa rírọ́pò àmì ọ̀rọ̀ lẹ́ẹ̀kọ̀ọ̀kan

Ìrọ́pò àgbáyé ti ' sí " lè fọ́ apostrophe nínú ìlà, ọ̀rọ̀ tí a ti escape tẹ́lẹ̀, àti orísun tí kì í ṣe JSON. Ṣe JSON tó tọ́ láti olùtòlẹ́sẹẹsẹ gidi. Má ṣe ka eval sí ẹni túpalẹ̀ JSON.

Lo JSON.stringify() nígbà tí o bá ń ṣe JSON nínú JavaScript

Yàn JSON.stringify ju ìsopọ̀ ìlà lọ́wọ́. Ó jáde ọ̀rọ̀ JSON tó tọ́ fún iye tí ó tò. Kò pa gbogbo iye JavaScript mọ́: undefined, iṣẹ́, àti àmì ní ìhùwà pàtàkì. Àlàyé yẹn kò wà nínú àyè yìí.

const data = {
  name: "Alex",
  active: true
};
const json = JSON.stringify(data);
// {"name":"Alex","active":true}

JSON tí kò tọ́ vs àtúnṣe gidi

A ṣàyẹ̀wò àwọn méjì yìí pẹ̀lú JSON.parse. Fún HTML, àtúnṣe ni ìdáhùn, kì í ṣe àtúnkọ ẹ̀kọ́ ọ̀rọ̀.

Ìṣòro Kò tọ́ Àtúnṣe
Àmì ọ̀rọ̀ ẹyọ {'a':1} {"a":1}
Kọ́mà ìkẹyìn {"a":1,} {"a":1}
Bọtìnì láìsí àmì ọ̀rọ̀ {a:1} {"a":1}
undefined {"a":undefined} {"a":null}
Ara HTML <html>... Ṣàyẹ̀wò endpoint àti ìdáhùn aìtúnṣe. Má ṣe ṣàtúnkọ HTML sí JSON.

Ìtọ́sọ́nà ìpinnu Unexpected token tó rọrùn

Tí JSON.parse bá kùnà, pinnu bóyá o ní JSON kí o tó kọ àmì ọ̀rọ̀ padà.

  • JSON.parse kùnà
  • Láti API? Ṣàyẹ̀wò ipo, Content-Type, àti ara aìtúnṣe
  • Ṣé ó bẹ̀rẹ̀ pẹ̀lú JSON? Tí kò ṣe bẹ́ẹ̀, tún orísun tàbí endpoint ṣe
  • Tí bẹ́ẹ̀ni, ṣàyẹ̀wò àmì ọ̀rọ̀, kọ́mà, àkọ́wé, àkọ́wé onígun mẹ́rin, escape, iye tí a kò ṣètìlẹ́yìn
  • Lo ibi tí a ròyìn gẹ́gẹ́ bí ìtọ́sọ́nà
  • Tún orísun ṣe, lẹ́yìn náà túpalẹ̀ lẹ́ẹ̀kan sí i
Unexpected token sọ orúkọ ìyalẹnu. Orísun ọ̀rọ̀ sábà jẹ́ àtúnṣe gidi.

Ṣàyẹ̀wò JSON kí o tó túpalẹ̀ tàbí lo

NEXNARA Ṣeto ati fi JSON we ṣàyẹ̀wò JSON nínú aṣàwákiri pẹ̀lú JSON.parse—kì í ṣe eval.

Ṣàyẹ̀wò, ṣe ẹwà pẹ̀lú àyè 2, àyè 4, tàbí táàbù, minify, daakọ, ṣe ìgbàsílẹ̀, kí o sì gbé .json sórí. JSON Diff ń ṣàkóso ohun àti àkójọ inú, ọ̀nà, àkópọ̀, àṣẹ̀, àti pààrọ̀. Lẹ́yìn ìtúpalẹ̀, ẹ̀dà ẹwà àti minify ti dátà kannáà fi wé ara wọn dọ́gba; bọtìnì ohun ni a fi orúkọ wé.

Ọ̀rọ̀ tó ju 5 MB lọ lè lọra. Ọ̀rọ̀ tó ju 15 MB lọ kì í ṣiṣẹ́ nínú aṣàwákiri.

Ìṣàyẹ̀wò àti ìṣètò JSON ṣẹlẹ̀ nínú aṣàwákiri rẹ. Irinṣẹ̀ yìí kò fi JSON ránṣẹ́ sí ẹ̀rọ-ìtajà NEXNARA. Ìpolówó àti ẹ̀yà àwùjọ mìíràn ṣì nlo nẹ́tíwọ́ọ̀kì.

Fi ìlà tí ó kùnà rọ́ sínú Ṣeto ati fi JSON we kí o ka lẹ́tà àkọ́kọ́ kí o tó kọ àmì ọ̀rọ̀ padà.

FAQ

Kí ló ṣe jẹ́ kí JSON.parse sọ Unexpected token?

Ọ̀rọ̀ kì í ṣe JSON tó tọ́ ní ibi tí ẹni túpalẹ̀ dúró. Ìdí tí ó wọ́pọ̀ ni àmì ọ̀rọ̀, kọ́mà, ọ̀rọ̀ àfikún, tàbí ara tí kì í ṣe JSON bí HTML.

Kí ni Unexpected token < nínú JSON túmọ̀ sí?

Lẹ́tà àkọ́kọ́ tí kò tọ́ lábẹ́ òfin lè jẹ́ <. Ìyẹn sábà tọ́ka sí ojú-ìwé HTML, ṣùgbọ́n kì í ṣe ẹ̀rí 404 tàbí HTML ní gbogbo ọ̀ràn. Ṣàyẹ̀wò ipo, Content-Type, àti ara aìtúnṣe.

Báwo ni mo ṣe lè rí ibi àṣìṣe nínú JSON?

Tí ẹ̀rọ bá ròyìn ibi, ìlà, tàbí òpó, wo nítòsí. Àṣìṣe gidi lè wà ṣáájú. Lo gẹ́gẹ́ bí ìtọ́sọ́nà, lẹ́yìn náà ṣàyẹ̀wò.

Ǹjẹ́ JSON lè lo àmì ọ̀rọ̀ ẹyọ?

Rárá. Ìlà JSON ìlànà àti orúkọ ọmọ ẹgbẹ́ nlo àmì ọ̀rọ̀ méjì.

Ǹjẹ́ JSON lè ní kọ́mà ìkẹyìn?

Rárá. JSON ìlànà kò fàyè gba kọ́mà lẹ́yìn àbùdá tàbí nkan àkójọ ìkẹyìn.

Báwo ni mo ṣe lè ṣàyẹ̀wò pé ìlà jẹ́ JSON tó tọ́?

Pe JSON.parse nínú try/catch, tàbí fi ọ̀rọ̀ rọ́ sínú Ṣeto ati fi JSON we. Tí ìtúpalẹ̀ bá ju SyntaxError, ìlà kì í ṣe JSON tó tọ́.

Tech Help

Àṣìṣe JSON tí ó wọ́pọ̀: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ àti Unexpected token

Tún JSON tí kò tọ́ ṣe: kọ́mà ìkẹyìn, àmì ọ̀rọ̀ ẹyọ, bọtìnì láìsí àmì ọ̀rọ̀ àti Unexpected token. Ìdí tí JSON.parse fi kùnà àti bí a ṣe lè ṣàyẹ̀wò JSON.

Tech Help

JPG vs PNG fún àwòrán ojú ìwòrán: Èwo ni ó kéré jù?

Yan JPG tàbí PNG fún àwòrán ojú ìwòrán nípa àkóónú: UI àti ọ̀rọ̀ sábà máa múná gẹ́gẹ́ bí PNG; àwọn fírémù tó kún fọ́tò lè kéré sí i gẹ́gẹ́ bí JPEG.

Tech Help

Bí a ṣe lè dín ìwọn fáìlì àwòrán kù láì jẹ́ kí ó rí bí ìrọ̀rọ̀

Dín ìwọn fáìlì àwòrán àti fọ́tò kù pẹ̀lú àìmọ̀ ìrísí tó ṣe é gbà. Kọ́kọ́ yí ìwọn tó pọ̀ ju padà, lẹ́yìn náà dín níwọ̀nba, kí o sì yan ọ̀nà tó yẹ.

Tech Help

Láti Unix Timestamp sí ọjọ́: ìṣẹ́jú-àáyá, milisekondi àti UTC ṣàlàyé

Yí Unix timestamp sí ọjọ́. Wo ìṣẹ́jú-àáyá sí milisekondi, UTC sí àkókò agbègbè, ISO 8601, àti bí a ṣe lè yí ọjọ́ padà sí àkókò epoch.

Tech Help

Kí ló dé tí Base64 fi ń sọ fáìlì di ńlá?

Base64 sábàá ń sọ data binary di ńlá níwọ̀n ìdá mẹ́ta. Wo ìlànà báìtì 3 sí lẹ́tà 4, ìfúnjú, ìwọ̀n àfikún Data URL, àti ìgbà tí ìwọ̀n àfikún yẹn ṣe é ra.