-2

次の JSON コードがあります。

{
    "chat": [
        {
            "username": "demo",
            "text": "hi man",
            "time": "1380167419"
        },
        {
            "username": "admin",
            "text": "hi",
            "time": "1380167435"
        },
        {
            "username": "demo",
            "text": "this works flawless now.",
            "time": "1380167436"
        },
        {
            "username": "demo",
            "text": "we basically done/",
            "time": "1380167443"
        }
    ]
}

私が実行すると:

var codes = JSON.parse(history); //history is the above JSON.
$.each(codes, function(key, value){
alert(value.chat.username);
});

それは何も警告せず、value.chat.username が未定義であると私に言い続けます...

私はどこで間違ったのですか?

4

3 に答える 3

2

JSON を解析する必要はありません。それはすでにJSONオブジェクトです

$.each(history.chat, function(key, value){
alert(value.username);
});

また、chat 配列を繰り返し処理し、その項目を正しく参照する必要があります。

于 2013-09-27T01:53:51.143 に答える
1

今回は、 で定義されたオブジェクトの配列がありますvalue.chat。を表示する前に、配列要素を選択する必要がありますusername。正しい形式は ですvalue.chat[n].username。ここで、nは配列内のインデックスです。オブジェクトの配列を反復処理する場合は、次のchatようにする必要があります。

$.each(codes.chat, function(key, value){
  alert(value.username);
});

を反復処理しているchatため、各要素のプロパティをchat直接指定できることに注意してください。

于 2013-09-27T02:03:00.383 に答える
0

それは... .chat が定義されていないためです

var codes = JSON.parse(history); //history is the above JSON.
$.each(codes.chat, function(key, value){
    alert(value.username);
});
于 2013-09-27T01:53:55.880 に答える