Php 在我使用CURL获取json数据之后,json_decode返回一个空对象
$output的VARDUMP string(267)“HTTP/1.1 200 OK Date:Fri,2013年3月1日14:16:57 GMT服务器:Apache/2.4.3(Win32)OpenSSL/1.0.1c PHP/5.4.7 X-Powered-By:PHP/5.4.7缓存控制:无缓存X-debug-token:5130b85a178bd传输编码:分块内容类型:应用程序/json{“名称”:“manoj”}” curl_错误的VARDUMP($ch) 字符串(0)” $json_数组的VARDUMP 空的 如果无法解码json,则返回NULL 您不希望返回curl_exec主体中的头,因此需要:Php 在我使用CURL获取json数据之后,json_decode返回一个空对象,php,json,curl,Php,Json,Curl,$output的VARDUMP string(267)“HTTP/1.1 200 OK Date:Fri,2013年3月1日14:16:57 GMT服务器:Apache/2.4.3(Win32)OpenSSL/1.0.1c PHP/5.4.7 X-Powered-By:PHP/5.4.7缓存控制:无缓存X-debug-token:5130b85a178bd传输编码:分块内容类型:应用程序/json{“名称”:“manoj”}” curl_错误的VARDUMP($ch) 字符串(0)” $json
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
var_dump($output);
$json_array = json_decode($output, true);
var_dump(curl_error($ch));
curl_close($ch);
var_dump($json_array);
如果出于任何原因您必须维护CULLOPT_标题选项,您可以使用以下选项:
curl_setopt($ch, CURLOPT_HEADER, false)
您可以使用CURLOPT_头选项检查返回代码200、404等
$output = curl_exec($ch);
$json_data = mb_substr($output, curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$data = json_decode($json_data);
您的输出都是带有标题的内容,尽管它不是有效的JSON。有关于卷曲选项的更多信息,包括
CURLOPT_标题
。
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);