json_decodeを行う時の注意事項

jsonデータをphp付属(v5.2以上)のjson_decodeでデコードする際の注意事項まとめ。

・object型で返却される

<?php
$obj = json_decode($json);

$objにはphpのオブジェクト型のデータが格納される。
オブジェクト型の場合、$obj->{'data'}のようにアローでアクセスする。

・オブジェクト型だと何かと不便なので連想配列に変換する

<?php
$results = array();        
foreach ($obj as $v) {
    $results[] = (array)$v;
}

fputcsv等だと連想配列しか渡せないので連想配列にしておく。
arrayでキャストすれば連想配列になる。ただし、再帰的な変換は行われないので注意。