1

以下を解析して、「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);
});

元のデータはコールバックからのものです。

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()。なぜなら、はすでに解析されているので、 usingをoutput取得できます。listoutput.data

于 2012-08-09T17:15:12.960 に答える
0

データは配列なので、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

これを試して:

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 に答える
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 に答える