はじめに

この実験では、org.json ライブラリを使って Java で JSON を扱う方法を学びます。このライブラリが提供するクラスとメソッド、JSON オブジェクトと配列の作成方法、JSON データを他の形式に変換する方法、および JSON 例外の処理方法について説明します。

JSONObject の作成

JSONObject はキーと値のペアを格納するために使用されます。以下は JSONObject を作成する方法の例です。

import org.json.JSONObject;

public class Main {
  public static void main(String[] args) {
    JSONObject jo = new JSONObject();
    jo.put("name", "John");
    jo.put("age", 25);
    System.out.println(jo.toString());
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、nameage の 2 つのキーと値のペアを持つ JSONObject を作成し、それをコンソールに出力します。

JSONArray の作成

JSONArray は値の順序付きコレクションです。以下は JSONArray を作成する方法の例です。

import org.json.JSONArray;

public class Main {
  public static void main(String[] args) {
    JSONArray ja = new JSONArray();
    ja.put(10);
    ja.put("A string");
    System.out.println(ja.toString());
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、10"A string" の 2 つの値を持つ JSONArray を作成し、それをコンソールに出力します。

JSON を文字列に変換する

JSONObject または JSONArray を文字列に変換するには、toString() メソッドを使用します。以下は例です。

import org.json.JSONObject;

public class Main {
  public static void main(String[] args) {
    JSONObject jo = new JSONObject();
    jo.put("name", "John");
    jo.put("age", 25);

    String jsonString = jo.toString();
    System.out.println(jsonString);
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、2 つのキーと値のペアを持つ JSONObject を作成し、それを文字列に変換してから、その文字列をコンソールに出力します。

JSON を Java オブジェクトに変換する

org.json ライブラリは、JSON データを Java オブジェクトに変換するための便利なメソッドを提供しています。たとえば、JSONObjectget メソッドを使って、特定のキーの値を Java オブジェクトとして取得することができます。以下は例です。

import org.json.JSONObject;

public class Main {
  public static void main(String[] args) {
    JSONObject jo = new JSONObject();
    jo.put("name", "John");
    jo.put("age", 25);

    String name = jo.getString("name");
    int age = jo.getInt("age");

    System.out.println("Name: " + name);
    System.out.println("Age: " + age);
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、2 つのキーと値のペアを持つ JSONObject を作成し、キー "name""age" の値を取得してから、それらをコンソールに出力します。

文字列を使って JSONObject を作成する

有効な JSON 文字列がある場合、それを使って JSONObject を作成することができます。以下は例です。

import org.json.JSONObject;

public class Main {
  public static void main(String[] args) {
    String jsonString = "{\"name\":\"John\",\"age\":25}";

    JSONObject jo = new JSONObject(jsonString);
    System.out.println(jo.toString());
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、JSON 文字列から JSONObject を作成し、それをコンソールに出力します。

文字列を使って JSONArray を作成する

有効な JSON 文字列がある場合、それを使って JSONArray を作成することができます。以下は例です。

import org.json.JSONArray;

public class Main {
  public static void main(String[] args) {
    String jsonString = "[10,\"A string\"]";

    JSONArray ja = new JSONArray(jsonString);
    System.out.println(ja.toString());
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、JSON 文字列から JSONArray を作成し、それをコンソールに出力します。

JSON 例外の処理

org.json を使用する際には、JSONException を処理する必要があります。これらの例外は、JSON オブジェクトまたは配列に対して無効な操作を行おうとしたときにスローされます。以下は例です。

import org.json.JSONObject;
import org.json.JSONException;

public class Main {
  public static void main(String[] args) {
    try {
      JSONObject jo = new JSONObject();
      jo.put("name", "John");
      System.out.println(jo.getInt("name"));
    } catch (JSONException e) {
      System.out.println("JSONException: " + e.getMessage());
    }
  }
}

コードを実行するには、ターミナルで以下のコマンドを実行します。

javac Main.java && java Main

上記のコードは、JSONObject を作成し、キー "name"(これは String です)に対して int 値を取得しようとします。これにより JSONException が発生し、キャッチされてコンソールに出力されます。

まとめ

この実験では、org.json ライブラリを使って Java で JSON を扱う方法を学びました。JSON オブジェクトと配列を作成する方法、JSON データを他の形式に変換する方法、および JSON 例外を処理する方法を学びました。また、org.json ライブラリをインポートして JSON データを Java オブジェクトに変換する方法も学びました。