なぜJSONはここまで構文に厳格なのか
シンプルで曖昧さのないデータ交換フォーマットとして設計されたため、パーサーによって解釈が変わらないことを保証する目的で意図的に厳格になっている。
JSONエラーが起こりやすい場面
手動編集した設定ファイル、JS/Pythonのコードからのコピペ(クォートのルールが違う)、末尾カンマ、//コメント(JSONでは不可)などが、エラーの大半を占める。
よくある質問
JSONにコメントは書けますか?
標準のJSONにはコメント構文はなく、JSON5やJSONCなど拡張形式を使わない限り//や/* */を書くと検証エラーになる。
JavaScriptでは動くのにJSONとしては無効と言われるのはなぜ?
JSのオブジェクトリテラルはクォートなしキーや末尾カンマなどを許容する緩い記法であり、それはJSの仕様であってJSONの仕様ではないため。