Результаты Матрицы расстояний

У меня возникли проблемы с переводом результата API-интерфейса DistanceMatrix в формат JSON.

Это var_dump из $response (Я использую плагин Ivory \ googlempas в Laravel 5.1)

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?

-1

Решение

Попробуйте использовать тип подсказки:

$json = json_encode( (array)$response );

Обновить:

Это немного глупо, но решит вашу проблему.
Учитывая, что вы закодировали свой объект в JSON в $json переменная, которую вы можете использовать str_replace() способ заменить нежелательное /u0000 то есть нулевые символы.

$json = str_replace('\\u0000', '',$json);
0

Другие решения

Других решений пока нет …