如何使用PHP解析JSON字符串

时间:2011-04-03 01:52:36

标签: php json parsing

我有一个JSON字符串,其中包含1-n个lat / lng记录。它看起来像这样:

{\"lat\":37.790388261934424,\"lng\":-122.46047996826172},{\"lat\":37.789608231530124,\"lng\":-122.46344112701416}

解析这个以获得lat / lng值循环的好方法是什么?并且转义的双引号会影响解析吗?

谢谢, 亚历

4 个答案:

答案 0 :(得分:5)

使用json_decode.

您需要先取消引号;只需使用

$unescaped_data = str_replace('\"','"',$data)

答案 1 :(得分:5)

$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
        )

)

答案 2 :(得分:3)

在您的情况下,最好使用:

$array = json_decode(stripslashes("[$input_string]"), 1);

请注意,在PHP中浮点值会丢失一些精度。

答案 3 :(得分:1)

JSON_decode并删除转义引号