APIでレスポンスがJSONできても、json_decodeを使えばPHPで普通に処理できる

APIの勉強を始めてから、レスポンスはすべてXMLで扱ってきた。JSONがいいという話をきいてはいたが、JSONを扱うにはJavaScriptじゃないとだめだとおもっていた。なので、最近はjQueryのgetJSONを勉強しているのだが、先日、@suinさんから、PHPでもjson_decodeを使えば簡単だよというコメントをもらった。

で、さっき試してみたのだが、配列の扱いではまったもののなんとか使えるようになりそう。

はまったポイントは、

$usedcar = $hoge->result->usedcar

これまでは、上記の方法でusedcarの配列データを受け取っていたのが、json_decodeをしたデータではうまくいかなかったとこ。

@suin先生に相談したところ、

$hoge[‘result’][‘usedcar’]

で、よいとのこと。

ということで、JSONで受け取ったデータも、下記の方法で扱うことができるようになった。

$hoge = json_decode(file_get_contents($url), true);

$usdecar = $hoge['results']['usedcar'];

foreach ( $usedcar as $key => $value ) {
	echo $key."<br />";
	echo $value['model']."<br />";
	echo $value['price']."<br />";
	echo $value['brand']['name']."<br />";
}