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請求為例)function run_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字符串轉為數組。