2016-10-27 19 views
-1

はなぜ実行しているん:このJSON.parse()の評価でエラーが発生するのはなぜですか?

JSON.parse("{ Facet : 'asdf' }"); 

結果をエラーUncaught SyntaxError: Unexpected token F in JSON at position 1(…)に?

+0

引用符付きのプロパティではなく、 –

+0

将来jslintでjsonを調べて、それが妥当であることを確認してから尋ねるべきです。 –

+0

そんな無邪気な質問のために複数の票を得ている - 投票した人がかなりカベであるような – sean2078

答えて

2

キーと値(if a string)のペアは、常に二重引用符で囲む必要があります。""それ以外の場合は、有効なJSON文字列ではありません。値がタイプBooleanまたはNumberまたはnullである場合

JSON.parse("{\"Facet\":\"asdf\"}") // without escaping 

または

JSON.parse('{"Facet":"asdf"}') 

ことになって

JSON.parse("{Facet:'asdf'}") // with escaping 

、それは二重引用符で囲む必要はありません。

んが、二重引用符は、以下のタイプ

JSON.parse('{"Facet": 100}') 
JSON.parse('{"Facet": true}') 
JSON.parse('{"Facet": null}') 
2
{Facet:'asdf'} 

の値のために必要ではありませんが、有効なJSON文字列ではありません。次は:

0

これらのキーも引用符で囲む必要があります。 コードでjsonにデータをエンコードしている場合(例:php array to json)、これは既にあなたのために行う必要があります。

関連する問題