jsondecode(PHP json_decode函数详细解析)
一、PHP json_decode函数详细解析
一、函数简介
1、此函数有四个参数,一般在使用时会用到前两个,具体的参数可以看手册。
2、第一个参数是json格式的字符串,第二个参数是boolean值(false转化成对象,true转化成数组,默认false),如果转化失败返回null。
二、为什么python运行json会提示JsonDecodeError
是编码的问题按Ctrl+c复制你写的代码,新建一个文档,再粘贴,不要设置编码,再运行,就OK了或者将编码设成GBK
三、php如何接收json数据
根据个人理解PHP接收json数据有三种:获取json格式的请求参数;获取json文件中的数据;获取接口返回的寄送数据。下面将一一讲述:1、获取请求参数$input=file_get_contents("php://input");
$input=json_decode($input,true);
var_dump($input);
2、获取文件中的json$jsonStr=file_get_contents('src/xx.json');
$jsonObj=json_decode($jsonStr,true);
3、获取接口返回的json(以post请求为例)functionrun_curl_json($url,$data,$timeout){
$data=json_encode($data);
$ch=curl_init($url);//请求的URL地址
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST");
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json','Content-Length:'.strlen($data)));
$ret=curl_exec($ch);
$httpCode=curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
$jsonObj=json_decode($ret,true);
return['data'=>$jsonObj,'code'=>$httpCode];
}
以上三种方式中获取到的都是json字符串,然后通过json_decode将json字符串转为数组。