php curl rest api响应不是json格式



我正在进行卷曲后请求

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers = ["Content-Type:application/json","Accept:application/json"];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
return $result;

上面的curl请求应该返回一个json格式的字符串,但得到一个javascript对象形式的字符串

string(68) "{data:{errorCode:AC01,errorMessage:SansID 53563857 is exist.}}"

当我试图从post-man-api中做同样的事情时,返回完美的json。

{"data":{"errorCode":"AC01","errorMessage":"SansID 53563857 is exist."}}

请告诉我哪里做错了。

使用json_decode将字符串转换为对象(stdClass(或数组:我在使用WordPress(cURL(和Laravel(passport(支持的API时也遇到了同样的问题,即返回JSON但为字符串格式。我保存了响应

//save json string into variable json object and return result
$response = curl_exec($curl);
//convert t
return (json_decode($response));

有关类似的解决方案,请参阅此处的链接

查看此屏幕截图控制台日志之前和之后修复

相关内容

  • 没有找到相关文章

最新更新