ここでは、JSON形式のテキストをパース(解析)して、キー・バリュー形式の値を取得するサンプルコードを掲載しています。
スポンサーリンク
JSONテキストを解析して値を取得する
次のサンプルコードでは、JSONテキストを解析して値を取得しています。なお、動作確認は、android studio 2.3.3 にて行いました。
try {
// JSONテキスト
string jsonText = "{\"header\":{\"name\":\"桃\"},\"body\":{\"area\":\"山梨\"}}";
JSONObject json = new JSONObject(jsonText);
// ブロック部:getJSONObjectメソッド
// キー・バリュー部:getStringメソッド
// 配列部分:getJSONArrayメソッド+getJSONObjectメソッドで繰り返し取得
String name = json.getJSONObject("header").getString("name");
String area = json.getJSONObject("body").getString("area");
System.out.println("header.name = " + name);
System.out.println("body.area =" + area);
} catch (JSONException e) {
System.out.println(e.getMessage());
}
JSONテキストを作成する
上記のサンプルスクリプトでは、JSONをべた書きしていますが、JSONObject クラスを使って作成することもできます。上記と同じJSONテキストを作成するサンプルコードは次の通りです。
try {
// JSONテキスト全体
JSONObject jsonObj = new JSONObject();
// ヘッダー部
JSONObject header = new JSONObject();
header.put("name", "桃");
// ボディー部
JSONObject body = new JSONObject();
body.put("area", "山梨");
// ヘッダーとボディーを追加
jsonObj.put("header", header);
jsonObj.put("body", body);
// 出力
System.out.println(jsonObj.toString());
/*
* 出力結果
* -----------------------------------------
* {"header":{"name":"桃"},"body":{"area":"山梨"}}
*/
} catch (JSONException e) {
System.out.println(e.getMessage());
}
しかし、腹減ったな。

卵かけご飯
米がまずそうに見えるのが残念!!実際まずいんだろうけど。