我试图从API获取一个json对象,它返回一个字符串。我试着对它进行解码,但都搞砸了。我不能发布数据,因为它很敏感,但这里有一个类似的例子。
{"status":"ok","list_i_want":[{param1:"blah",param2:"blash",param3:"blah"},{…}]}
我试着去掉第一部分和最后一部分,但它仍然无法解码为json对象。它也可能是我的curl_setopt()。
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Accept: application/json'
));
$resp = curl_exec($curl);
curl_close($curl);
DD($resp); // laravel's die and dump
对于CURL,获取带有自定义头的API。
$subscription_key ='';
$host = '';
$request_headers = array(
"X-Mashape-Key:" . $subscription_key,
"X-Mashape-Host:" . $host
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
$season_data = curl_exec($ch);
if (curl_errno($ch)) {
print "Error: " . curl_error($ch);
exit();
}
// Show me the result
curl_close($ch);
$json= json_decode($season_data, true);
dd($json);