jQuery.parseJSON の一重引用符と二重引用符
JavaScript では、jQuery.parseJSON メソッドは JSON 文字列を JavaScript オブジェクトに変換します。 JSON 文字列を操作する場合、一重引用符と二重引用符の使用の違いを理解することが重要です。
問題
以下のコード スニペットは正常に動作します:
var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
ただし、次のコードは JSON 文字列の解析に失敗します。
var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
理由
不一致は、単一と の処理の違いから生じます。 JSON 構文の二重引用符。JSON 標準によれば、二重引用符は文字列区切り文字の標準とみなされますが、一重引用符はそうではありません。
JSON 構文
構文では次のように指定されています:
A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested.
したがって、JavaScript は、JSON 文字列で二重引用符を使用する場合に、二重引用符を正しく解析できます。一重引用符は有効な文字列区切り文字とはみなされないため、jQuery.parseJSON が JSON 文字列を正しく変換できません。
更新
JSON 応答での一重引用符の使用に関して、jQuery コミュニティのディスカッションで同様の問題が浮上していることは注目に値します。この問題を解決する 1 つの方法は、JSON 文字列で常に二重引用符を使用するようにすることです。
以上がjQuery.parseJSON で二重引用符と一重引用符の動作が異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。