1

JSON.parse を使用して、この JSON 文字列を解析しています

[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]

ただし、出力としてこの結果を取得しているだけです。

[object Object]

これは結果であってはなりません。これをカプチーノフレームワーク内で使用しています。ここで私が間違っていることを誰かが知っていますか?

4

2 に答える 2

1

[object Object]オブジェクトを呼び出したときに表示されるオブジェクトですtoString。結果を取得して呼び出しようとしているようですobj.toString()

また、JSON は 1 つの要素を含む配列であるため、結果が正しいことを確認するには、[0] インデックスの name プロパティにアクセスできます。

obj[0].name // should be "joe".

var text = '[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]';

var obj = JSON.parse(text);

alert(obj[0].name); //alerts joe

デモ


または、実際にはあまり機能しないため、配列を削除します

var text = '{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}';

var obj = JSON.parse(text);

alert(obj.name); //still joe

デモ

于 2012-01-24T22:52:52.563 に答える
0

これは角括弧で囲まれているため配列です-[]-これらを削除すると機能するはずです...これは「構文的に」正しいですが、パーサーはこれを配列(オブジェクトのタイプ)と見なしますが、そうしませんあなたが期待する方法でそれに取り組みます。

また、将来の参考のために: lint を試して、構文がめちゃくちゃになっていないかどうかを確認してください: http://jsonlint.com/

于 2012-01-24T22:53:07.603 に答える