JavaScript | Expected double-quoted property name in JSON エラーの原因と修正案

JavaScript エラー,JavaScript

JavaScript | Expected double-quoted property name in JSON エラーの原因と修正案

JavaScriptで発生するコンソールエラー「Expected double-quoted property name in JSON」の原因と対処・修正案について紹介しています。

Uncaught SyntaxError: Expected double-quoted property name in JSON at position x
キャッチされていない構文エラー: JSON の位置 x にあるプロパティ名は二重引用符で囲まれると予期されます

確認環境

Microsoft Edge バージョン 118.0.2088.46

Expected double-quoted property name in JSON エラーの発生原因

「Expected double-quoted property name in JSON」というJavaScriptのエラーはJSONをパースする際にJSONコードに問題があると発生します。
エラーの原因はJSONデータ内の「position x」で指定している場所にあるキー名がダブルクォーテーションで囲われてない事を示しています。

このエラーはキャッチされていない構文エラー(Uncaught SyntaxError)に分類されています。

例えば、以下の記述ミスがあるJSONコードをJSON.parse()メソッドを使って変換しているJavaScriptコードにて同エラーは発生します。
以下の場合、エラーの発生原因となっている「age」は18文字目でにありますのでエラーコードには「position 18」と出力されます。

let json = '{ "name": "taro", age: 20}';
let obj = JSON.parse($json);

Expected double-quoted property name in JSON エラーの修正案

「Expected double-quoted property name in JSON」エラーを修正するには、JSONコードを正しい書式になっているかどうか確認、修正する必要があります。

上記したエラーを発生するスクリプトの場合、「age」をダブルクオーテーションで囲う事で問題は解決します。

let json = '{ "name": "taro", "age": 20}';
let obj = JSON.parse($json);