php curl rest api响应不是json格式

php curl rest api响应不是json格式,php,json,curl,php-curl,Php,Json,Curl,Php Curl,我正在做一个卷发后的请求 $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);

我正在做一个卷发后的请求

        $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.}}"
当我尝试从PostManAPI中执行同样的操作时,返回的是完美的json

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

请告诉我哪里做错了。

使用json\u解码将字符串转换为对象(stdClass)或数组: 我在使用WordPress(cURL)和Laravel(passport)支持的API时遇到了同样的问题,该API返回JSON,但为字符串格式。我保存了回复

//save json string into variable json object and return result
$response = curl_exec($curl);
//convert t
return (json_decode($response));
有关类似的解决方案,请参阅此链接


查看此屏幕截图

您得到的任何响应都不是curl_*函数的错误。没有人能够在不了解更多信息的情况下对该API提出建议。您是否使用var_dump()打印响应数据?我认为API响应是可以的,请使用json_decode()方法将json转换为数组,并使用print_r方法打印该值。@sohanverma我使用了dd(),当json_decode()将它给出的字符串nullok时,请在$result=curl\u exec($ch)之后使用json\u decode;线路。请使用以下代码:$responseArray=json\u decode($result);打印费用($responseArray);死亡请检查我的建议,如果仍然存在相同的错误,请告诉我。