JSONに関する世界観です。
JavaScriptやPythonなどと親和性の高いデータ記述フォーマット。Ajaxなどで使われたりするほか、MongoDBなどのNoSQLデータベースでも使われる。
以下は具体例。
{ "Japan": [ "yen", 50 ], "EU": { "Germany": [ "euro", 100 ], "UK": ["pound", 200 ] } }
詳しくは以下が参考になる。
PythonからJSON形式のデータを扱うには、jsonというAPIを使う。
PythonオブジェクトをJSONデータにエンコーディングするにはjson.dumps()を使う(直列化)。
JSONデータをPythonオブジェクトにデコーディングするにはjson.loads()を使う(脱直列化)。
シリアライズも参照のこと。
Ruby on RailsのようなWebフレームワークでは、人間が読むHTMLを出力する代わりに、機械が読むためのJSONデータを吐き出すことができる。
こうした単純なWeb上のJSONデータ以外にも、Web APIであるSOAPやRESTを使うことで、Web上のさまざまなデータをネットワーク経由で取得し、操作し、処理することができる。特に、RESTではJSON形式が一般的に利用されている(一応XMLにも対応している)。
JSONは以前XMLが使われていていたAjaxの「インタラクティブWebアプリ」でも、XMLの代わりとなるシンプルなデータ記述フォーマットとなっている。
また、ドキュメント指向データベースのMongoDBではJSONライクなデータ構造が格納できる。JavaScriptやPythonとも親和性が高い。
このような特徴から、DOMでXMLを操作したり、SQLクエリでデータベースにデータを格納したり、MS-Excelファイルを編集したりする従来のフォーマットから、徐々にJSONへと移行していくものだと思われる。
JSONのサンプルは以下が参考になる。
C++におけるBoost.PropertyTreeについてはC++(STL・ライブラリ)も参照のこと。