您好,我有一个返回以下 JSON 的 PHP 脚本:
[
{
"zone_name": "1st_zone"
},
{
"coordinates": [
"51.56256,-0.37903",
"51.50789,-0.19913",
"51.58475,-0.06729",
"51.61461,-0.19638",
"51.5711,-0.28152"
]
},
{
"zone_name": "2nd_zone"
},
{
"coordinates": [
"51.56256,-0.37903",
"51.50789,-0.19913",
"51.58475,-0.06729",
"51.61461,-0.19638",
"51.5711,-0.28152",
"51.57707,0.11398",
"51.48651,0.12497",
"51.56939,0.28427"
]
}
]
在 Javascript 中,我正在执行这样的 AJAX 调用:
$.ajax({
type: "POST",
cache: false,
url: "load_zone.php",
dataType: 'json',
success:function(response){
for(var i =0; i<response.length; i++){
console.log(response[i]);
}
},
error:function(){
}
});
我在控制台中得到这个结果:
Object { zone_name="1st_zone"}
Object { coordinates=[5]}
Object { zone_name="2nd_zone"}
Object { coordinates=[8]}
如何分别打印每个 zone_name 和坐标?
谢谢
最佳答案
for(var i =0; i<response.length; i++){
if(i%2 === 0) console.log(response[i].zone_name);
else console.log(response[i].coordinates);
// console.log(response[i].zone_name || response[i].coordinates); //one liner
}
这将为您提供相应的区域名称和坐标。 您当前的 JSON 有一个对象数组,其中列出了区域名称和坐标作为数组的连续元素。
但是你应该尝试将 json 更改为如下所示:
[
{
"zone_name": "1st_zone"
"coordinates": [
"51.56256,-0.37903",
"51.50789,-0.19913",
"51.58475,-0.06729",
"51.61461,-0.19638",
"51.5711,-0.28152"
]
}
...
]
这意味着该数组将包含表示区域及其坐标的对象。然后可以像 response[i].zone_name
和 response[i].coordinates
一样访问它。
关于javascript - 循环遍历 Javascript 中从 PHP 获取的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23932630/