PHP数组到json,如何摆脱一些双引号?

时间:2012-06-13 10:12:32

标签: php arrays json double-quotes

将php数组编码为json时,我遇到了一个小但很奇怪的问题。

我需要阻止array()在特定值周围添加双引号。

这是php数组:

$coordinates="[".$row["lat"].",".$row["lng"]."]";  
$egUser=array(              

            "geometry"=>array(
                "type"=>"$type",
                "coordinates"=>$coordinates                 
        ),

            "type2"=>"$type2",
            "id"=>$id
        );
$arrayjson[]=$egUser;   

用json_encode返回以下json:

var member = {
"type": "FeatureCollection",
"features": [{
    "geometry": {
        "type": "Point",
        "coordinates": "[46.004028,5.040131]"
    },
    "type2": "Feature",
    "id": "39740"
}]

};

如您所见,坐标包含在双引号>

"coordinates": "[46.004028,5.040131]"

如何摆脱这些报价?我需要以下代替>

"coordinates": [46.004028,5.040131]

我有点困惑所以欢迎任何帮助:) 谢谢!

1 个答案:

答案 0 :(得分:3)

多数民众赞成因为$coordinates的类型为String。

$coordinates="[".$row["lat"].",".$row["lng"]."]";

像这样创建$coordinates

$coordinates = array($row["lat"],$row["lng"]);