Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで2つのJSON配列をマージする方法【addAll()メソッドの使い方】

JSONは軽量なデータ交換フォーマットであり、「キーと値のペア」形式でデータを表現します。JSONArrayは文字列からテキストを解析し、ベクトルのようなオブジェクトを生成できるクラスで、java.util.Listインターフェースをサポートしているのが特徴です。

Javaで2つのJSON配列をマージ(結合)するには、org.json.simple.JSONArrayクラスを利用するのが便利です。このクラスはjava.util.Listインターフェースを実装しているため、Listが持つメソッドをそのまま使えます。

具体的には、java.util.Listインターフェースから継承されたaddAll()メソッドを呼び出すだけで、一方の配列にもう一方の要素をすべて追加できます。以下のサンプルプログラムで確認してみましょう。

サンプルコード

import org.json.simple.JSONArray;
import java.io.IOException;

public class MergeJSONArraysTest {
    public static void main(String[] args) throws IOException {
        JSONArray jsonArray1 = new JSONArray(); // 1つ目のJSON配列
        jsonArray1.add("Java");
        jsonArray1.add("Python");
        jsonArray1.add("Spark");

        JSONArray jsonArray2 = new JSONArray(); // 2つ目のJSON配列
        jsonArray2.add("Selenium");
        jsonArray2.add("ServiceNow");

        // addAll()メソッドで2つの配列をマージ
        jsonArray1.addAll(jsonArray2);

        System.out.println(jsonArray1);
    }
}

実行結果

["Java","Python","Spark","Selenium","ServiceNow"]

このように、addAll()メソッドを使えばわずか1行のコードで2つのJSON配列を結合できます。引数に渡した配列の全要素が、呼び出し元の配列の末尾に順番に追加されるため、手動でループ処理を書く必要もありません。

なお、重複要素を排除したい場合は、マージ後にStream APIのdistinct()を組み合わせたり、LinkedHashSetに変換したりする方法もあります。用途に応じて使い分けると良いでしょう。

  1. 【Java】JSONオブジェクトをファイルに書き込む方法(json-simpleライブラリの使い方)

    JSON(JavaScript Object Notation)は、現在もっとも広く使われているデータ交換フォーマットのひとつです。軽量であることと、特定のプログラミング言語に依存しないことが大きな特徴で、異なるシステム間でのデータやり取りに最適です。 JavaでJSONファイルを読み書きするには、json-simple ライブラリが便利です。json-simpleは軽量なJSON処理ライブラリで、JSONテキストのエンコード(書き込み)とデコード(読み込み)の両方に対応しており、JSON仕様(RFC4627)に完全準拠しています。 ライブラリの準備 json-simpleを使用するには、まず

  2. JavaでJSONをパース(解析)する方法|org.json・Gson・JsonPathの使い方を解説

    このチュートリアルでは、JavaでJSONを解析(パース)する方法を、複数のライブラリの使い方とあわせて解説します。 JSONとは「JavaScript Object Notation」の略称で、JavaScriptのサブセットをベースとした軽量なデータ形式です。 データ交換フォーマットとして広く普及しており、Webプログラミングにおいて不可欠な技術となっています。本記事では、org.jsonライブラリを使ったJSONのパース方法を中心に紹介します。 まず基本をおさらいしましょう。JSONオブジェクトは「キーと値のペア」から構成される順序のない集合です。一方、JSON配列は値が順序付けて格納さ