我正试图用循环显示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
答案 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
重命名为更具描述性的名称,例如coordinates
或coordinatesArray
。