如何使用json数据进行循环?

时间:2015-02-20 19:31:02

标签: javascript jquery json

我正试图用循环显示json数据。

我得到了以下结果,但不知道如何用循环显示它们。

[
    {"latitude":"23.046100780353495","longitude":"72.56860542227514"},
    {"latitude":"23.088427701737665","longitude":"72.49273109366186"},
    {"latitude":"23.061264193197644","longitude":"72.68224525381811"},
    {"latitude":"22.977212139977677","longitude":"72.52191352774389"},
    {"latitude":"23.002180435752084","longitude":"72.47590827872045"},
    {"latitude":"23.108638843843046","longitude":"72.49444770743139"}
]

我创建了这个循环:

var obj = JSON.parse(data);
var total = obj.length;

for (var i = 0; i < total; i++) {

    console.log([i]);

}

并尝试显示如下结果:

23.046100780353495,72.56860542227514
23.088427701737665,72.49273109366186
23.061264193197644,72.68224525381811
22.977212139977677,72.52191352774389
23.002180435752084,72.47590827872045
23.108638843843046,72.49444770743139

3 个答案:

答案 0 :(得分:2)

一些提示:

  • {}括号为对象,您可以访问object.property等属性。
  • []括号为数组,您可以按索引array[index]访问元素。

在您的特定情况下,应该这样做:

var objects_array = JSON.parse(data); // This is an array of objects.
var total = objects_array.length;

for (var i = 0; i < total; i++) {
    var obj = objects_array[i]; // This is one object from the array.
    console.log( obj.latitude + ',' + obj.longitude ); // We access object properties using a dot.
}

答案 1 :(得分:1)

您的阵列已有默认密钥。所以尝试一下以下的方式:

var obj = jQuery.parseJSON(data);
  $.each(obj, function(key,value) {
  console.log(value.latitude, value.longitude);
}); 

答案 2 :(得分:1)

var obj = JSON.parse(data);
var total = obj.length;

for (var i = 0; i < total; i++) {
    console.log(obj[i].latitude + ', ' + obj[i].longitude);
}

可以使用.dot表示法访问JSON值。

在这里,您将对象数组命名为obj。我建议将obj重命名为更具描述性的名称,例如coordinatescoordinatesArray