SyntaxError: Unexpected token in JSON
JSONの構文が不正な場合に発生するパースエラー
概要
JSON.parse()で不正なJSON形式のデータをパースしようとした場合に発生するエラーです。
エラーメッセージ
SyntaxError: Unexpected token < in JSON at position 0
SyntaxError: Unexpected end of JSON input
SyntaxError: Unexpected token u in JSON at position 0
原因
- HTMLが返されている: APIがJSONではなくHTMLを返している
- 末尾のカンマ: 最後の要素の後にカンマ
- シングルクォート: JSONはダブルクォートのみ
- undefined/NaN: JSON非対応の値
- 空のレスポンス: 何も返されていない
解決策
1. レスポンスを確認してからパース
| |
2. try-catchでエラーハンドリング
| |
3. JSON形式を修正
| |
4. JSONバリデーション
| |
5. nullやundefinedをチェック
| |
6. APIエラーを処理
| |
7. JSONを整形してデバッグ
| |
JavaScript の他のエラー
この記事は役に立ちましたか?