Javaで2つのJSONオブジェクトをマージする方法【putAll()メソッドの使い方】
JSON(JavaScript Object Notation)は軽量なデータ交換フォーマットであり、そのデータは「キーと値のペア」で構成されています。JSONObjectは文字列からテキストを解析し、Mapのようなオブジェクトを生成することができ、java.util.Mapインターフェースをサポートしています。Javaでは、org.json.simple.JSONObjectクラスを利用することで、2つのJSONオブジェクトを簡単にマージ(結合)できます。
以下のプログラムでは、java.util.Mapインターフェースから継承されたputAll()メソッドを使用して、2つのJSONオブジェクトを1つに統合しています。なお、両方のオブジェクトに同じキーが存在する場合は、後から渡したオブジェクトの値で上書きされる点に注意してください。
コード例
import java.util.Date;
import org.json.simple.JSONObject;
public class MergeJsonObjectsTest {
public static void main(String[] args) {
JSONObject jsonObj = new JSONObject(); // 1つ目のJSONオブジェクト
jsonObj.put("Name", "Adithya");
jsonObj.put("Age", 25);
jsonObj.put("Address", "Hitech City");
JSONObject jsonObj1 = new JSONObject(); // 2つ目のJSONオブジェクト
jsonObj1.put("City", "Hyderabad");
jsonObj1.put("DOB", new Date(104, 3, 6));
jsonObj.putAll(jsonObj1); // 1つ目と2つ目のJSONオブジェクトをマージ
System.out.println(jsonObj);
}
}実行結果
{"Address":"Hitech City","DOB":Tue Apr 06 00:00:00 IST 2004,"City":"Hyderabad","Age":25,"Name":"Adithya"}ポイントまとめ
- putAll()メソッド:java.util.Mapインターフェースで定義されており、指定したMapのすべてのキーと値を現在のオブジェクトにコピーします。
- キーの重複時の挙動:同じキーが存在する場合、引数として渡したオブジェクト側の値が優先されます。
- 依存ライブラリ:org.json.simpleパッケージを使用するには、json-simpleライブラリをプロジェクトに追加する必要があります。
-
JavaでJSON配列を作成する方法をわかりやすく解説
JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x
-
JavaでJSONファイルを作成する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed