我很难将DistanceMatrix API结果放入JSON格式。
这是$response
的var_dump(我在Laravel 5.1中使用Ivory \ googlempas插件)
object(Ivory\GoogleMap\Services\DistanceMatrix\DistanceMatrixResponse)#694 (4) { ["status":protected]=> string(2) "OK" ["destinations":protected]=> array(1) { [0]=> string(12) "Milan, Italy" } ["origins":protected]=> array(1) { [0]=> string(11) "Rome, Italy" } ["rows":protected]=> array(1) { [0]=> object(Ivory\GoogleMap\Services\DistanceMatrix\DistanceMatrixResponseRow)#693 (1) { ["elements":protected]=> array(1) { [0]=> object(Ivory\GoogleMap\Services\DistanceMatrix\DistanceMatrixResponseElement)#692 (3) { ["status":protected]=> string(2) "OK" ["distance":protected]=> object(Ivory\GoogleMap\Services\Base\Distance)#690 (2) { ["text":protected]=> string(6) "572 km" ["value":protected]=> int(572343) } ["duration":protected]=> object(Ivory\GoogleMap\Services\Base\Duration)#691 (2) { ["text":protected]=> string(15) "5 hours 42 mins" ["value":protected]=> int(20517) } } } } } }
我如何在JSON数组中返回它?
答案 0 :(得分:0)
尝试使用类型提示:
$json = json_encode( (array)$response );
这有点hacky,但会解决你的问题
考虑到您已将对象编码为$json
变量中的json,您可以使用str_replace()
方法替换不需要的/u0000
即空字符。
$json = str_replace('\\u0000', '',$json);