qingfong12345 2021-06-15 01:23 采纳率: 50%
浏览 27
已采纳

php如何解析json数组

不知如何使用php解析json的数组

{

 "code": 100,

 "message": "success",

 "ip": "110.188.234.66",

 "result": {

                "en_short": "CN", //英文简称

  "en_name": "China", //归属国家英文名称

  "nation": "中国", //归属国家

                "province": "四川省", //归属省份

  "city": "绵阳市", //归属城市

  "district": "涪城区", //归属县区

  "adcode": 510703, //归属地编码

  "lat": 31.45498, //纬度

  "lng": 104.75708 //经度

 }

}

以上是json

需要解析数组"result"内的"lat"

以下是尝试过的方法

$echo = de_code($json,true);//json文件用$json代替

尝试过的方法一

$echo_lat = $echo->result[0]->lat;

尝试过的方法二

$echo_lat = $echo[result][0][lat];

不报错也不运行

 PHP版本7.4

 

 

 

  • 写回答

2条回答 默认 最新

  • 家铭didphp 2021-06-15 09:10
    关注

    你需要先把那串json里的注释去除掉

    {
    	"code": 100,
    
    	"message": "success",
    
    	"ip": "110.188.234.66",
    
    	"result": {
    		"en_short": "CN",
    
    		"en_name": "China",
    
    		"nation": "中国",
    
    		"province": "四川省",
    
    		"city": "绵阳市",
    
    		"district": "涪城区",
    
    		"adcode": 510703,
    
    		"lat": 31.45498,
    
    		"lng": 104.75708
    	}
    
    }

    之后再使用来解析:

    <?php
    $json = '{
    	"code": 100,
    	"message": "success",
    	"ip": "110.188.234.66",
    	"result": {
    		"en_short": "CN",
    		"en_name": "China",
    		"nation": "中国",
    		"province": "四川省",
    		"city": "绵阳市",
    		"district": "涪城区",
    		"adcode": 510703,
    		"lat": 31.45498,
    		"lng": 104.75708
    	}
    }';
    $jsonData = json_decode($json, true);
    echo $jsonData['result']['lat'];

    结果就在 $jsonData['result']['lat'] 中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?