実例を見てみよう。ここでは第2回目でAjaxのサンプルとして示したリスト1およびリスト2を、JSONを用いたものに変更してみる(関連記事)。
サーバ側からJSON形式のデータを返すには、何らかのJSONライブラリを用いることになる。JSONライブラリは、さまざまな言語用のものが存在し、その一覧を参照することもできる(関連リンク)。
今回は、その代表的な一つであるPHP用の「JSON-PHP」を用いることにしよう(関連リンク)。このJSON-PHPは、pear.php.netからダウンロードすることができる(関連リンク)。
JSON-PHPは、その名の通りPHP言語で書かれたものであり、「JSON.php」という単一ファイルである。実行する場合にはほかのライブラリに依存するものはない。ダウンロードして配置するだけで、次のようにコード内で指定すればすぐに利用可能だ。
require('JSON.php');
この連載の第2回目に紹介したXML形式のデータとして返すサーバサイドのcalc.php(前回のリスト2)を、JSONデータとして返すように変更したものが次に示すリスト3だ。
<?php
require('JSON.php');
$value1 = $_POST['value1'];
$value2 = $_POST['value2'];
$result = array();
$result['add'] = $value1 + $value2;
$result['diff'] = $value1 - $value2;
header("Content-Type: text/json");
$json = new Services_JSON();
print $json->encode($result);
?>
リスト3では、戻り値となるデータを配列として構成している。
$result = array();
$result['add'] = $value1 + $value2;
$result['diff'] = $value1 - $value2;
そしてJSONライブラリを使って、JSONデータに変換してクライアントへと返す。
header("Content-Type: text/json");
$json = new Services_JSON();
print $json->encode($result);
Copyright © ITmedia, Inc. All Rights Reserved.