REST
RESTは「REpresentational State Transfer」の略で、大まかに言えば、アドレス(URL)とHTTPのメソッド(GETなど)を組み合わせて、サーバー上のデータを操作する仕組みです。
RESTは、Roy Fieldingという方が、2000年に発表した博士論文で提唱されたアーキテクチャスタイルです。Roy FieldingさんはHTTP仕様の策定者の一人であったことから、HTTPはRESTの基準をよく満たしています。
RESTの例として、WordPress JSON REST API (WP API, http://wp-api.org/) あります。それを利用して、Javaなどから最新の記事の取得、記事の投稿、写真の添付などが可能です。
JSON
JSON(ジェイソン、JavaScript Object Notation)は、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。
JSONの紹介
http://www.json.org/json-ja.html
このフォーマットの特徴は、
- 名前/値のペアで表記される、連想配列のような構造
- カンマで区切られたリスト(配列)のような構造
オブジェクト
オブジェクトは中括弧({ , })で囲み、中の要素は文字列/値で表現します。複数の要素を利用する場合は、カンマで区切り、続けて記述します。
{
文字列:値,
文字列:値,
.
.
文字列:値
}
配列
配列は大括弧([ , ])で囲み、中の要素を値の連続(0個以上)で表現します。複数の要素を利用する場合は、カンマで区切り、続けて記述します。
[ 値, 値, ..., 値]
値
値は以下の7種類です
- 文字列
- 数値
- オブジェクト
- 配列
- true
- false
- null
文字列は2重引用符(“)で囲まれます。
学バス時刻表の取得
JSONArray json = loadJSONArray("http://busapp.wasedaonline.com/api/getvalue/?tag=20"); JSONObject content = json.getJSONObject(2); String data = content.getString("post_content"); println(data);
参考
- http://labo.mamezou.com/special/sp_013/sp_013_001.html — RESTのコンセプトと特徴
- http://www.agilegroup.co.jp/technote/java-rest-client01.html — JavaでRESTクライアントを作成する【第一回】
- http://thinkit.co.jp/article/70/1/page/0/1 — JSONってなにもの?
- http://d.hatena.ne.jp/seinzumtode/20130426/1366934641 — JavaでJSONを使う
- http://gootara.org/library/2014/04/javaapijsonjdk1618.html — Java SEの標準APIだけでJSONを扱うサンプル(JDK 1.6以降、1.8も対応)