1

JSON オブジェクトを解析できないのはなぜですか? 解析を機能させるには、引用符で囲む必要があります。

// JSON object
var foo = {"sayHi": {"nl":"hoi", "en":"hello"}};
alert(foo.sayHi.en);

// string       
var foo = '{"sayHi": {"nl":"hoi", "en":"hello"}}';      
alert(JSON.parse(foo).sayHi.nl);

編集:

// does not work
var foo = {"sayHi": {"nl":"hoi", "en":"hello"}};
alert(JSON.parse(foo).sayHi.nl);

はい、どちらも機能しますが、最初の foo は with parse で機能しません。そして、改行、引用符、プラス記号を気にする必要がないので、最初の foo の方が好きです。

編集2:

JSON を取得するために ajax 呼び出しを使用する代わりに、JSON を変数に格納する良い方法を本当に探しています。

4

2 に答える 2

3

これ{"sayHi": {"nl":"hoi", "en":"hello"}}はすでに js オブジェクトであるため

そして、これ'{"sayHi": {"nl":"hoi", "en":"hello"}}'は単なる文字列であり、何でも含む、おそらくjson

于 2013-03-06T13:39:08.270 に答える
1

「JSONオブジェクトを解析する」という意味に依存します(ちなみに、これJSONは表記です)。それをオブジェクトに解析したい場合は、おめでとうございます。 JSON.parseJSON (表記法) を使用して文字列を取得し、それを JavaScript のオブジェクトに変換します (ただし、他の多くの言語でも JSON を解析して、それぞれのデータ構造に変換できます)。

ただし、両方のコード スニペットは期待どおりに機能します。

于 2013-03-06T13:40:15.240 に答える