我正在尝试解析以下内容并显示一个显示“City,State”的简单输出列表:
{
"status":"success",
"data":[
{"city":"Brooklyn Park","state":"MN"},
{"city":"Campbellsport","state":"WI"},
{"city":"Wauwatosa","state":"WI"},
...
]
}
这是我到目前为止所拥有的:
var output = $.parseJSON(data);
var list = output.data;
$.each(list,function(){
item = $.parseJSON(list);
console.log(list.city);
});
原始数据来自回调。
答案 0 :(得分:5)
var output = $.parseJSON(data);
var list = output.data;
$.each(list,function(index, val){
// within val you'll get each
// data object
console.log( val.city );
});
您无需再次在$.each()
内进行解析。因为output
已经过解析,因此您可以使用list
获取output.data
。
答案 1 :(得分:5)
$.parseJSON
将解析整个对象,您不需要解析每个元素。
var output = $.parseJSON(data);
var list = output.data;
$.each(list,function(i,item){
console.log(item.city);
});
答案 2 :(得分:0)
data是一个数组,所以只需使用for循环
var output = $.parseJSON(data);
var list = output.data;
for (var i=0; i<list.length; i++){
var city = list[i].city;
var state = list[i].state;
console.log(city + "," + state);
}
答案 3 :(得分:0)
试试这个:
var output = $.parseJSON(data);
var list = output.data;
$.each(list, function() {
console.log(this['city']); // could also be this.city
});
当你跳转到jQuery中的任何函数时,你会切换到“this” - 每个“列表”中的数据都没有正确保存到项目中。
答案 4 :(得分:0)
success: function (response) {
var output = response[0].City;
alert(output);
}
答案 5 :(得分:0)
这可能会有所帮助。
var json = [
{"id":"1","tagName":"apple"},
{"id":"2","tagName":"orange"},
{"id":"3","tagName":"banana"},
{"id":"4","tagName":"watermelon"},
{"id":"5","tagName":"pineapple"}
];
$.each(json, function(idx, obj) {
alert(obj.tagName);
});