1

我正在尝试解析以下内容并显示一个显示“城市,州”的简单输出列表:

{
"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);
});

原始数据来自回调。

4

6 回答 6

5

$.parseJSON将解析整个对象,您不需要解析每个元素。

var output = $.parseJSON(data);
var list = output.data;

$.each(list,function(i,item){
    console.log(item.city);
});
于 2012-08-09T17:16:34.190 回答
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已经被解析,所以你可以得到listusing output.data

于 2012-08-09T17:15:12.960 回答
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);
}
于 2012-08-09T17:19:03.233 回答
0
success: function (response) {

                       var output = response[0].City;



                       alert(output);

                   }
于 2014-01-24T19:30:56.633 回答
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);
});
于 2015-01-06T10:36:44.890 回答
0

尝试这个:

var output = $.parseJSON(data);
var list = output.data;

$.each(list, function() {
  console.log(this['city']); // could also be this.city
});

当您跳入像 jQuery 内部的任何函数时,您会切换到“this” - 每个“列表”中的数据都没有正确保存到项目中。

于 2012-08-09T17:25:01.280 回答