PHP覚え書きブログ

【2012年02月06日】

今回はJSONというデータ形式について。
JSONは「JavaScript Object Notation」の略でJavascriptのデータフォーマット形式である。

形式的にはほぼハッシュみたいなもので、キーと値の組み合わせで構造的にテキストデータを保持する。
PHPの配列とほとんど同じような構造である。
なので、PHP側でJSON形式のデータを扱えるようにした関数が存在する。
扱うというか、JSON形式のテキストデータをPHPの配列に変換するだけなのだが。

PHPとJavascript間でのデータのやり取りといえばAjax。
AjaxといえばXMLだが、XMLって結構めんどくさい。
なのでPHP側ではXMLではなく、HTMLを直接レスポンスとして返したりしてしまうこともあったりする。
本来のやり方はPHPでXML形式のテキストデータをレスポンスとして返し、
Javascript側ではコールバック関数内でXMLを分解し、DOM操作にてHTMLを動的に書き換えるのだが。

ここでもう一つの方法としてJSONを利用する方法がある。
まずPHPで生成した配列データをjson_encodeという関数を使用してJSON化する。
JSON自体はJavascript独自の形式であるからjson_encodeで得られるのはJavascriptがJSONとして解釈できる形式のテキストである。
これをレスポンスとして出力する。
Javascript側では返ってきたJSON形式テキストをeval関数にて本当のJSONオブジェクトに変換する。
これだけである。
あとは出来たJSONオブジェクトをもとにDOM操作にてHTMLを書き換える。