file_get_contents()从url而不是json返回原始数据

时间:2018-11-12 14:12:59

标签: php laravel-5.6

这个问题已经被问过很多次了,但是似乎没有一个解决方案。我想使用file_get_contents()this url返回JSON数据,但是它以原始格式( string )返回JSON数据。

这是我的代码:

$data = file_get_contents('https://dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=27.696694861033567,83.46625594498187&destinations=28.233514383842977,83.98651076641227&travelMode=driving&key=bingmaps_api_key&distanceUnit=km');
dd($data);

我尝试使用curl,但结果相同,它也以原始格式( string )返回JSON数据

$url = 'https://dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=27.696694861033567,83.46625594498187&destinations=28.233514383842977,83.98651076641227&travelMode=driving&key=ingmaps_api_key&distanceUnit=km';
if (!function_exists('curl_init')) {
    die('The cURL library is not installed.');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
dd($output);

我想要的输出 Produced output

它给出的输出 Required output

1 个答案:

答案 0 :(得分:0)

JSON只不过是一个字符串。 file_get_contents或cURL将始终返回字符串,您必须使用json_decode方法对字符串进行解码,该方法应为您提供JSON对象。