1

php配列をjsonにエンコードしているときに、小さいながらも奇妙な問題が発生します。

array()が特定の値を二重引用符で囲むのを防ぐ必要があります。

これがphp配列です:

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

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

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

Wichは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]

私は少し混乱しているので、どんな助けも歓迎します:)ありがとう!

4

1 に答える 1

3

これ$coordinatesは、String型であるためです。

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

$coordinatesこのように作成する

$coordinates = array($row["lat"],$row["lng"]);
于 2012-06-13T10:17:21.843 に答える