「Unexpected token in JSON」エラーのほとんどは、同じ短いミスのリストから生まれます。順に修正法を挙げます。(形式が初めてなら JSON とは から。)
1. 末尾のカンマ
JSON は最後の項目の後のカンマを許しません。
{ "a": 1, "b": 2, } ← 無効
{ "a": 1, "b": 2 } ← 有効
2. シングルクォート
文字列とキーはダブルクォートが必須です。
{ 'name': 'Ann' } ← 無効
{ "name": "Ann" } ← 有効
3. クォートなしのキー
JavaScript のオブジェクトと違い、JSON のキーは必ずクォートします。
{ name: "Ann" } ← 無効
{ "name": "Ann" } ← 有効
4. コメント
JSON にコメントはありません。解析前に // と /* */ を削除してください。
5. 括弧の誤り・不足
すべての { に }、すべての [ に ] が必要です。よくあるのは括弧の取り違えや、複数レコードを配列 [ … ] で包み忘れることです。
6. 数値でない値
NaN・Infinity・undefined は有効な JSON ではありません。数値・文字列・null を使ってください。
最速の修正:検証する
目で探すより、エラー位置を示す検証ツールに貼り付けましょう。
- JSON 整形・検証——整形・圧縮・検証し、構文が壊れた箇所を示します。
- あとで表計算に入れる?JSON を CSV / Excel に変換。
上の 6 つを直せば、「無効な JSON」問題の大半は消えます——すべてブラウザ内で動作するので、機微なデータも外に出ません。