最近よく見るJSONの意味がわからなかったので調べてみました。
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C , C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.
JSONとは軽量のデータ交換用のフォーマットだそうです。
というかJavaScriptのオブジェクトの形式でデータをやり取りしたら楽だよねってことみたいです。
↓たとえばこんな感じだそうです。(via XMLをJSONデータに変換するJavascriptライブラリ – スピリッツオブゼロ@blog)
ListingInfo: {
Request: {
Parameters: {
Parameter: [
{ value: "あいうえお",
name: "keyword" },
{ value: "Shift_JIS",
name: "enc" },
{ value: "xml_lite4",
name: "tf" },
{ value: "FP",
name: "at" },
{ value: "10",
name: "ipp" },
{ value: "777",
name: "categ_id" }
]
}
}
}
}
PHPの配列をJavaScriptの配列に変換する処理なんかはやってる人も結構いるかもしれませんが、ちゃんと名前付けて仕様化してるところがすごくいい。
よく見たらPEARにもServices_JSONがProposalに上がってます。
JSON/READ-ME-JSON.php:
// create a new instance of JSON
require_once('JSON.php');
$json = new JSON();
// convert a complexe value to JSON notation, and send it to the browser
$value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
$output = $json->encode($value);
print($output);
// prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
// accept incoming POST data, assumed to be in JSON notation
$input = $GLOBALS['HTTP_RAW_POST_DATA'];
$value = $json->decode($input);
こんな感じで使えるなら便利そう。
既にXMLでやり取りしてるサービスもコレ(Amazon Web サービス ブログ: XML→JSON展開クラス)とか使ったらもっと便利になるかも!