如何使用PHP从cURL获取json
我尝试用php通过cURL解码json,如下所示:如何使用PHP从cURL获取json,php,json,curl,Php,Json,Curl,我尝试用php通过cURL解码json,如下所示: $url = 'https://www.toto.com/api/v1/ads/?apikey=titi&code_postal='.$code_postal.'&type_de_bois='.$type_bois; $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, $url); curl_setopt($cURL, CURLOPT_HTTPGET, true); curl
$url = 'https://www.toto.com/api/v1/ads/?apikey=titi&code_postal='.$code_postal.'&type_de_bois='.$type_bois;
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
$result = curl_exec($cURL);
curl_close($cURL);
var_dump(json_decode($result, true));
echo json_decode($result);
这给了我一个类似于json的结果:
[{“id”:“6918”,“nom”:“X”,“code_postal”:“88120”,“ville”:“town”,“description”:“test”,“logo”:“test.png”,“url”:“test”,“telephone”:true},
[{“id”:“6919”,“nom”:“Y”,“code_postal”:“88121”,“ville”:“town1”,“description”:“test”,“logo”:“test.png”,“url”:“test”,“telephone”:true},
[{“id”:“6920”,“nom”:“Z”,“code_postal”:“88122”,“ville”:“town2”,“description”:“test”,“logo”:“test.png”,“url”:“test”,“telephone”:true}]
int(1)1
我的问题是:
-为什么在没有回声或打印的情况下打印阵列?
-为什么json_解码不能正常工作,或者为什么它只有一个值(“1”)
非常感谢您的回答。如果在使用once json_decode()之后,结果是一个json字符串,那么json数据似乎被编码了两次 请检查以下内容:
echo json_decode(json_decode($result));
如果它不起作用,你能提供
echo $result;
要查看未经PHP解析的服务器响应。如果在使用once json_decode()后,结果是一个json字符串,则json数据似乎被编码了两次 请检查以下内容:
echo json_decode(json_decode($result));
如果它不起作用,你能提供
echo $result;
查看未经PHP解析的服务器响应。您忘记使用
CURLOPT\u RETURNTRANSFER
选项。因此curl\u exec()
打印响应,而不是将其返回到$result
,而$result
仅包含curl\u exec
返回的值TRUE
,以指示响应成功。添加:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
您忘记使用
CURLOPT\u RETURNTRANSFER
选项。因此curl\u exec()
打印响应,而不是将其返回到$result
,并且$result
仅包含curl\u exec
返回的值TRUE
,以指示响应成功。添加:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
var_dump()将在数组中显示结果var_dump()将在数组中显示结果