JavaでJSONObjectにJSONArrayを追加する方法|put()メソッドの使い方を解説
JSONObjectは、文字列からテキストを解析してMapのようなオブジェクトを生成できるクラスです。同様にJSONArrayは、文字列からテキストを解析してVector(リスト)のようなオブジェクトを生成します。
JSONObjectの中にJSONArrayを追加したい場合は、まず複数の要素を含むJSONArrayを作成し、それをJSONObjectクラスのput()メソッドに渡すだけで実現できます。put()メソッドには第2引数としてCollection型を受け取るオーバーロードが用意されているため、JSONArrayをそのまま値として格納することが可能です。
put()メソッドの構文
public JSONObject put(java.lang.String key, java.util.Collection<?> value) throws JSONException
サンプルコード
以下の例では、「INDIA」「AUSTRALIA」「ENGLAND」の3つの要素を持つJSONArrayを作成し、キー「COUNTRIES」としてJSONObjectに追加しています。
import org.json.*;
public class AddJSONArrayTest {
public static void main(String[] args) throws JSONException {
JSONArray array = new JSONArray();
array.put("INDIA");
array.put("AUSTRALIA");
array.put("ENGLAND");
JSONObject obj = new JSONObject();
obj.put("COUNTRIES", array);
System.out.println(obj);
}
}
実行結果
{"COUNTRIES":["INDIA","AUSTRALIA","ENGLAND"]}
出力を見ると、キー「COUNTRIES」に対して3つの国名を含む配列が値として正しく格納されていることが確認できます。
補足:ライブラリの依存関係について
上記のコードを実行するには、org.jsonライブラリ(JSON-java)がクラスパスに含まれている必要があります。Mavenを使用している場合は、以下の依存関係をpom.xmlに追加してください。
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20240303</version>
</dependency>
-
JavaのJTableセルにJRadioButton(ラジオボタン)を追加・挿入する方法
JTableはJComponentクラスのサブクラスであり、情報を複数の行(Row)と列(Column)で表示するテーブルを作成するために使用できるSwingコンポーネントです。JTable上で値が選択されるとTableModelEventが生成され、このイベントはTableModelListenerインターフェースを実装することによって処理されます。 JTableのセルにラジオボタン(JRadioButton)を追加・挿入したい場合は、TableCellRendererインターフェースとDefaultCellEditorクラスをそれぞれカスタマイズします。レンダラーがセルの「表示」を担当し、
-
JavaでJSON配列を作成する方法をわかりやすく解説
JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x