Php 我得到了一些无组织的文本,同时要求两个拉特长的路线通过这里
我在这里使用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中使用的代码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响应。所
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密钥用于测试目的,我现在将对其进行更改。