我想看看这个:
[
{"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,但我无法理解。最后,我需要将数据附加到选择输入的选项。
对此的任何帮助都会很棒。
谢谢!
答案 0 :(得分:4)
如果尚未解析JSON,则需要先解析它。
有些浏览器有这种原生:
jsonobject = JSON.parse(jsonstring)
如果没有,你可以使用jQuery
jsonobject = $.parseJSON(jsonstring)
然后,当它是一个对象时,你可以使用$ .each
循环它$.each(jsonobject, function(x,v) {
console.log(v.leadID);
console.log(v.leadName);
});
答案 1 :(得分:1)
如果您使用$ .each,它将如下所示:
$.each(myJSON, function(key, value){
console.log(value);
console.log(value['leadID']);
});
您不需要执行值[0]。以下是我通常的做法:
for (var tk in myJSON)
{
console.log(myJSON[tk]);
console.log(myJSON[tk]['leadID']);
}
答案 2 :(得分:0)
k
将遍历数组的索引(0..9
),v
将迭代对象..
所以例如你可以做(评论参考第一次迭代):
$.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"
});