Php 我得到了一些无组织的文本,同时要求两个拉特长的路线通过这里

Php 我得到了一些无组织的文本,同时要求两个拉特长的路线通过这里,php,rest,codeigniter,curl,here-api,Php,Rest,Codeigniter,Curl,Here Api,我在这里使用RESTAPIv7地理编码和搜索api,url是api键]&waypoint0=geo!22.578765,88.295014和航路点1=geo!22.570253,88.301865和routeattributes=wp、sm、sh、sc和mode=最快;汽车 但是,当我尝试使用postman和google chrome进行正常搜索时,它会给我预期的json返回,但当我尝试通过codeigniter通过curl请求获得此结果时,它会首先给我一些无组织的文本,然后返回json响应。所

我在这里使用RESTAPIv7地理编码和搜索api,url是api键]&waypoint0=geo!22.578765,88.295014和航路点1=geo!22.570253,88.301865和routeattributes=wp、sm、sh、sc和mode=最快;汽车 但是,当我尝试使用postman和google chrome进行正常搜索时,它会给我预期的json返回,但当我尝试通过codeigniter通过curl请求获得此结果时,它会首先给我一些无组织的文本,然后返回json响应。所以我需要得到json的距离。但由于首先是无组织的数据,我无法跟踪它。。。。。。 这是我在codeigniter中使用的代码

function shipcalculate(){
  $curl = curl_init();

  curl_setopt_array($curl, array(
    CURLOPT_URL => "https://route.ls.hereapi.com/routing/7.2/calculateroute.json?apiKey=[here api key]&waypoint0=geo!22.578765,88.295014&waypoint1=geo!22.570253,88.301865&routeattributes=wp,sm,sh,sc&mode=fastest;car",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
  ));

  $response = curl_exec($curl);

  curl_close($curl);
  echo $response;
  //print_r(json_decode(json_encode($response)));
  //print_r(json_decode($response)) ;

}
乌普图特来了

但是我想得到一个标准json格式的输出

请帮帮我

好的,我知道了

      $newresponse = json_decode($response);
      $array = json_decode(json_encode($newresponse), true);
      echo $array['response']['route'][0]['summary']['distance'];

我在旋度闭合后加上这三条线,得到了距离。另外,我现在明白了为什么会出现文本,文本之所以出现是因为JSON响应中有HTML。

运行您在这里显示的代码,我得到了预期的响应。您刚刚泄漏了API密钥吗?我想您需要
echo JSON\u decode($response->body)好的,我知道了$newresponse=json_decode($response)$array=json_decode(json_encode($newresponse),true);echo$array['response']['route'][0]['summary']['distance'];我在旋度闭合后加上这三条线,得到了距离。我现在也明白了为什么文本会出现,因为json响应中有html。谢谢大家回答我的问题@jonathan此api密钥用于测试目的,我现在将对其进行更改。