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

JavaでJSON配列を作成する方法をわかりやすく解説

JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。

JSON配列のサンプル

{
    "books": [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL]
}

json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。

json-simpleのMaven依存関係

json-simpleライブラリを使用するには、まずpom.xmlに以下のMaven依存関係を追加します。

<dependencies>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

上記のコードを、pom.xmlファイルの末尾にある <dependencies></dependencies> タグ内(</project>タグより前)に貼り付けてください。

JSON配列を作成する手順

Javaプログラムを使ってJSONファイル内に配列を作成するには、以下の手順に従います。

1. JSONObjectオブジェクトの生成

まず、json-simpleライブラリのJSONObjectクラスをインスタンス化します。

// JSONObjectオブジェクトの生成
JSONObject jsonObject = new JSONObject();

2. キーと値のペアを挿入

次に、put()メソッドを使って必要なキーと値のペアを挿入します。

jsonObject.put("key", "value");

3. JSONArrayの生成と要素の追加

JSONArrayクラスをインスタンス化してJSON配列を作成し、add()メソッドで要素を追加していきます。

JSONArray array = new JSONArray();
array.add("element_1");
array.add("element_2");
array.add("element_3");

4. 配列をJSONオブジェクトに追加

必要な要素をすべて追加したら、put()メソッドを使って配列をJSONドキュメントに組み込みます。

jsonObject.put("contact", array);

5. ファイルへの書き込み

最後に、FileWriterクラスを使って作成したJSONオブジェクトをファイルに書き込みます。

FileWriter file = new FileWriter("E:/json_array_output.json");
file.write(jsonObject.toJSONString());
file.close();

完全なサンプルコード

以下のJavaプログラムは、配列を含むJSONオブジェクトを作成し、json_array_output.jsonという名前のファイルに書き出します。

import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class WritingJSONArray {
    public static void main(String args[]) {
        // JSONObjectオブジェクトの生成
        JSONObject jsonObject = new JSONObject();
        // JSONオブジェクトへのキーと値の挿入
        jsonObject.put("ID", "1");
        jsonObject.put("First_Name", "Krishna Kasyap");
        jsonObject.put("Last_Name", "Bhagavatula");
        jsonObject.put("Date_Of_Birth", "1989-09-26");
        jsonObject.put("Place_Of_Birth", "Vishakhapatnam");
        jsonObject.put("Country", "25000");
        // JSON配列の生成
        JSONArray array = new JSONArray();
        array.add("e-mail: krishna_kasyap@gmail.com");
        array.add("phone: 9848022338");
        array.add("city: Hyderabad");
        array.add("Area: Madapur");
        array.add("State: Telangana");
        // JSONオブジェクトへの配列の追加
        jsonObject.put("contact", array);
        try {
            FileWriter file = new FileWriter("E:/json_array_output.json");
            file.write(jsonObject.toJSONString());
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("JSON file created: " + jsonObject);
    }
}

実行結果

プログラムを実行すると、コンソールに以下のように出力されます。

JSON file created: {
"First_Name":"Krishna Kasyap",
"Place_Of_Birth":"Vishakhapatnam",
"Last_Name":"Bhagavatula",
"contact":[
"e-mail: krishna_kasyap@gmail.com",
"phone: 9848022338",
"city: Hyderabad",
"Area: Madapur",
"State: Telangana"],
"Country":"25000",
"ID":"1",
"Date_Of_Birth":"1989-09-26"}

生成されたJSONファイルの中身を確認すると、プログラムで作成したデータが正しく書き込まれていることがわかります。なお、JSONObjectは内部的にHashMapを使用しているため、キーの並び順は出力ごとに異なる場合がある点に注意してください。

  1. 【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法

    GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを

  2. JavaでJSONファイルを作成する方法をわかりやすく解説

    JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed