0

私はこれを見ようとしています:

[
    {"leadID":"1","leadName":"Steve"},
    {"leadID":"2","leadName":"Bob"},
    {"leadID":"3","leadName":"Bill"},
    {"leadID":"4","leadName":"Jim"},
    {"leadID":"5","leadName":"James"},
    {"leadID":"6","leadName":"John"},
    {"leadID":"7","leadName":"Eric"},
    {"leadID":"8","leadName":"Tony"},
    {"leadID":"9","leadName":"Jason"},
    {"leadID":"10","leadName":"Paul"}

]

$.each を使用して実行しようとしていますが、うまくいきません。コンソールへのテストは次のとおりです。

$.each(JSON, function(k, v) {

    console.log(v[0]);

});

JSONを正しく解析していないだけだと確信していますが、理解できません。最終的に、選択入力のオプションにデータを追加する必要があります。

これに関するヘルプは素晴らしいでしょう。

ありがとう!

4

3 に答える 3

4

まだ解析されていない場合は、最初に JSON を解析する必要があります。

一部のブラウザには、次のネイティブがあります。

jsonobject = JSON.parse(jsonstring)

そうでない場合は、jQuery を使用できます

jsonobject = $.parseJSON(jsonstring)

次に、オブジェクトの場合は、 $.each でループできます

$.each(jsonobject, function(x,v) {
   console.log(v.leadID);
   console.log(v.leadName);
});
于 2012-10-11T22:48:53.820 に答える
1

$.each を使用すると、次のようになります。

$.each(myJSON, function(key, value){
    console.log(value);
    console.log(value['leadID']);
});

value[0] を行う必要はありません。これが私が通常これを行う方法です:

for (var tk in myJSON)
{
    console.log(myJSON[tk]);
    console.log(myJSON[tk]['leadID']);
}

http://api.jquery.com/each/を参照してください。

于 2012-10-11T22:40:37.920 に答える
0

あなたの例kでは、配列のインデックス(0..9vを反復処理し、オブジェクトを反復処理します..

たとえば、次のことができます (コメントは最初の反復を参照します)。

$.each(JSON, function(k, v) {

    console.log(k); // 0
    console.log(v); // {"leadID":"1","leadName":"Steve"}
    console.log(v['leadID']); // "1"
    console.log(v['leadName']); // "Steve"

});
于 2012-10-11T22:45:17.657 に答える