简单使用php处理json内容的模板
如果使用api获取到的内容是json格式的,需要提取指定字段的结果,可考虑一下模板:
plaintext
"无法获取IP信息"];
};
$result = [
"region" => $data['result']['ad_info']['province'],
"city" => $data['result']['ad_info']['city'],
"district" => $data['result']['ad_info']['district'],
"ip" => $data['result']['ip'],
];
return $result;
}
$ip = $_GET['ip'];
$url = get_ip_info($ip) ;
$json= $url;
echo json_encode($json, JSON_UNESCAPED_UNICODE);
?>以上代码中,先获取到的api返回的结果如下:
plaintext
{
"status": 0,
"message": "Success",
"request_id": "b695d2d475f347d29062eb2153ba8f4f",
"result": {
"ip": "2408:8459:3c40:607a:db1:500c:e2d8:ecf3",
"location": {
"lat": 22.55329,
"lng": 113.88308
},
"ad_info": {
"nation": "中国",
"province": "广东省",
"city": "深圳市",
"district": "宝安区",
"adcode": 440306,
"nation_code": 156
}
}
}通过
plaintext
$result = [
"region" => $data['result']['ad_info']['province'],
"city" => $data['result']['ad_info']['city'],
"district" => $data['result']['ad_info']['district'],
"ip" => $data['result']['ip'],
];获取指定位置的结果:
plaintext
$data['result']数据在多级目录下面,就逐层用[' ']包裹起来,
plaintext
"district" => $data['result']['ad_info']['district']此时已经将json对应字段的结果赋值给指定字段了,
plaintext
$region = "广东省";
$city = "深圳市";
$district = "宝安区";
$ip = "2408:8459:3c40:607a:db1:500c:e2d8:ecf3";以上代码返回的结果是:
plaintext
{
"region": "广东省",
"city": "深圳市",
"district": "南山区",
"ip": "240e:3ba:30e0:a830:c5ba:4578:10f:b6dd"
}