[Java] JSON形式のテキストをパースして要素を取り出す(JSONObject)

Pocket

ここでは、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());
    }

 

しかし、腹減ったな。

卵かけご飯

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

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *