javascript - 循环遍历 Javascript 中从 PHP 获取的对象

标签 javascript php jquery ajax

您好,我有一个返回以下 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_nameresponse[i].coordinates 一样访问它。

关于javascript - 循环遍历 Javascript 中从 PHP 获取的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23932630/

相关文章:

javascript - 使用 PHP 更改 javascript id 以匹配 Modal CSS

javascript - Mocha promise 测试超时

javascript - 在 JQuery UI 选项卡上添加下拉菜单

javascript - 如何以 Angular 动态添加新行

PHP和MySQL如何查询小数列

javascript - 如何在javascript中动态转换诸如 "select::-ms-expand"之类的css?

javascript - 简单页面搜索的代码存在问题

javascript - 使用 javascript 计算 to 次总和

php - ZF2 getServiceLocator() 未找到?

php - 如何在 SQL 中选择 php date() 格式