Posted at

jsonにおけるクソカンマ問題

More than 3 years have passed since last update.

json作成時にforeach文でまわした最後の要素のカンマだけなくしたい!と思うことがよくある。この"jsonにおけるクソカンマ問題"を解決するスマートな方法を模索中。

いまのところ一番の解決方法。


kusocomma.php

<?php

$outputcomma = 0; //←ここ
echo '{"type":"FeatureCollection",
"features":['
;
foreach ($muchData as $data):
$geom = json_decode($data['geom'], true);
if ($outputcomma) {  //←ここ
echo ',';      //←ここ 
} else {        //←ここ
$outputcomma = 1; //←ここ
}            //←ここ  
echo '{"type":"Feature",
"geometry":{"type":"Point", "coordinates":['
.$geom['coordinates'][1].','.$geom['coordinates'][0].']},
"properties":{"prop0":"value0"}
}'
;
endforeach;
echo' ]
}'
;

要素の一番めだけ"直前のカンマ"をつけないという発想。もっといいのあるかな。