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 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!