У меня есть строка JSON, которая имеет 1-ное число записей lat / lng. Это выглядит примерно так:
{\"lat\":37.790388261934424,\"lng\":-122.46047996826172},{\"lat\":37.789608231530124,\"lng\":-122.46344112701416}
Каков хороший способ проанализировать это, чтобы получить цикл значений lat / lng? И удаленные двойные кавычки влияют на синтаксический анализ?
Спасибо, Алекс
$ll = '[{"lat":37.790388261934424,"lng":-122.46047996826172},{"lat":37.789608231530124,"lng":-122.46344112701416}]'; $ll = json_decode($ll); print_r($ll);
Печать …
Array ( [0] => stdClass Object ( [lat] => 37.7903882619 [lng] => -122.460479968 ) [1] => stdClass Object ( [lat] => 37.7896082315 [lng] => -122.463441127 ) )
Используйте json_decode.
Сначала вам понадобятся кавычки unescape; просто используйте
$unescaped_data = str_replace('\"','"',$data)
В вашем случае, вероятно, лучше всего использовать:
$array = json_decode(stripslashes("[$input_string]"), 1);
Обратите внимание, что вы потеряете некоторую точность своих значений float в PHP.
JSON_decode и удалить escape-кавычки