まめぞうの技術メモ

IT関連で勉強したことをメモします

JavaでJSONを扱う方法【org.json.JSONObject】

近年、何かとインターフェースに利用されるのはJSON型ですよね。

しかし、ライブラリを使わないと扱いづらいのが玉にキズです。

ぼくのオススメは【Json In Java】です。org.jsonで色んなサンプルコードでよく使われています。

使い方を書いていきますね。

まずはライブラリをダウンロード

使い方

  • とても簡単です。以下のようにJSONObjectを定義してやるだけです。
JSONObject jsonObj = new JSONObject(JSONにする文字列);
  • 具体的な定義の仕方や、JSONの値の参照については、続きのサンプルコードを見て下さい。

サンプルコード

  • こちらのサンプルコードをそのまま書いてもらえば実験できますよ!
import org.json.JSONObject;

public class JsonTest {
    public static void main(String[] args){
        // Jsonにする型のString型を定義
        String jsonStr = "{\"key\" : \"value\"}";

        // JSONObject を インスタンス化して、
        // 引数に先程定義した Stringを入れるとJSONObject完成
        JSONObject jsonObj = new JSONObject(jsonStr);

        // getString(キー名)で、値が取得できるので楽ちん
        String key = jsonObj.getString("key");
        System.out.println(key);
    }
}

実行結果

  • プリントした「value」が表示されていますね。

JsonのValue

JSONArrayも簡単

  • Jsonが沢山入った配列のJSONArrayもよく使われていますよね。
  • 応用編で、以下のようにすれば、簡単にJSONArrayを定義したり、中からJSONObjectを取り出せますよ。
import org.json.JSONObject;
import org.json.JSONArray;

public class JsonTest {
    public static void main(String[] args){
        // JsonArrayにする型のString型を定義
        String jsonStr = "[{\"key0\" : \"value0\"},{\"key1\" : \"value1\"}]";

        // JSONArray を インスタンス化して、
        // 引数に先程定義した Stringを入れるとJSONObject完成
        JSONArray jsonArr = new JSONArray(jsonStr);

        // getJsonObject(インデックス番号)で、
        // インデックス番号に指定した場所のJSONObjectを取得
        JSONObject jsonObj = jsonArr.getJSONObject(0);

        // getString(キー名)で、値を取得
        String key = jsonObj.getString("key0");
        System.out.println(key);
    }
}

実行結果

  • ほら簡単!

JsonArrayのValue