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

 

 

 

你需要先把那串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'] 中。

<?php 

    $postArray ='[{"data":{"hello":"world"},"type":"1234","date":"2012-10-30 17:6:9","user":"000000000000000","time_stamp":1351587969902}, {"data":{"hello":"world"},"type":"1234","date":"2012-10-30 17:12:53","user":"000000000000000","time_stamp":1351588373519}]';
     
    
    $de_json = json_decode($postArray,TRUE);
      $count_json = count($de_json);
        for ($i = 0; $i < $count_json; $i++)
           {
                //echo var_dump($de_json);
 
                  $dt_record = $de_json[$i]['date'];
                   $data_type = $de_json[$i]['type'];
                  $imei = $de_json[$i]['user'];
                  $message = json_encode($de_json[$i]['data']);

                }

?>
复制代码