PHP获取api响应
我试图从API获取一个json对象,它返回一个字符串。我试着去解码,但都搞糟了。我不能发布数据,因为它很敏感,但这里有一个类似的例子 {“状态”:“确定”,“列出我想要的”:[{param1:“布拉”,param2:“布拉”,param3:“布拉”},{…}]} 我试图删掉第一部分和最后一部分},但它仍然无法解码为json对象。它也可能是我的curl_setopt()PHP获取api响应,php,json,laravel,curl,Php,Json,Laravel,Curl,我试图从API获取一个json对象,它返回一个字符串。我试着去解码,但都搞糟了。我不能发布数据,因为它很敏感,但这里有一个类似的例子 {“状态”:“确定”,“列出我想要的”:[{param1:“布拉”,param2:“布拉”,param3:“布拉”},{…}]} 我试图删掉第一部分和最后一部分},但它仍然无法解码为json对象。它也可能是我的curl_setopt() 对于CURL,获取带有自定义头的API $subscription_key =''; $host = '';
对于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);
我认为API调用返回的值是javascript对象,而不是JSON字符串。如果是这种情况,您需要使用JSON.stringiry()之类的方法将其转换为JSON字符串。是的,它是一个javascript对象。。。我被告知它应该是一个JSON对象。。不管怎样,它都会转到客户端,所以我只是让javascript处理它,效果很好,哈哈。解决了!!!!
$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);