PHP获取api响应

PHP获取api响应,php,json,laravel,curl,Php,Json,Laravel,Curl,我试图从API获取一个json对象,它返回一个字符串。我试着去解码,但都搞糟了。我不能发布数据,因为它很敏感,但这里有一个类似的例子 {“状态”:“确定”,“列出我想要的”:[{param1:“布拉”,param2:“布拉”,param3:“布拉”},{…}]} 我试图删掉第一部分和最后一部分},但它仍然无法解码为json对象。它也可能是我的curl_setopt() 对于CURL,获取带有自定义头的API $subscription_key =''; $host = '';

我试图从API获取一个json对象,它返回一个字符串。我试着去解码,但都搞糟了。我不能发布数据,因为它很敏感,但这里有一个类似的例子

{“状态”:“确定”,“列出我想要的”:[{param1:“布拉”,param2:“布拉”,param3:“布拉”},{…}]}

我试图删掉第一部分和最后一部分},但它仍然无法解码为json对象。它也可能是我的curl_setopt()


对于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);