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

JavaでJSON配列を読み込み・解析する方法【json-simpleライブラリ活用ガイド】

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

サンプルJSON配列

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

json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使用すると、JavaプログラムからJSONドキュメントの内容を簡単に読み書きできます。

JSON-SimpleのMaven依存関係

json-simpleライブラリを使用するには、プロジェクトのpom.xmlに以下の依存関係を追加します。

<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ファイルの作成

まず、6つのキーと値のペア、および1つの配列を含む「sample.json」という名前のJSONファイルを作成しましょう。

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

JavaでJSONファイルから配列を読み込む手順

Javaプログラムを使用してJSONファイルから配列を読み込むには、以下の手順に従います。

1. JSONParserクラスのインスタンス化

json-simpleライブラリが提供する JSONParser クラスをインスタンス化します。

JSONParser jsonParser = new JSONParser();

2. parse()メソッドでJSONを解析

parse() メソッドを使用して、読み込んだJSONファイルの内容を解析します。

// JSONファイルの内容を解析
JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("E:/players_data.json"));

3. get()メソッドでキーに対応する値を取得

get() メソッドを使用すると、指定したキーに関連付けられた値を取得できます。

String value = (String) jsonObject.get("key_name");

4. JSONArrayとして配列を取得

他の要素と同様に、get() メソッドを使ってJSON配列を JSONArray オブジェクトとして取得します。

JSONArray jsonArray = (JSONArray) jsonObject.get("contact");

5. iterator()メソッドで配列を反復処理

JSONArray クラスの iterator() メソッドは Iterator オブジェクトを返します。これを利用することで、配列の内容を順番に処理できます。

// 配列の内容を反復処理
Iterator<String> iterator = jsonArray.iterator();
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}

完全なサンプルプログラム

以下のJavaプログラムは、先ほど作成した sample.json ファイルを解析し、その内容を読み取ってコンソールに表示します。

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class ReadingArrayFromJSON {
    public static void main(String args[]) {
        // JSONParserオブジェクトの生成
        JSONParser jsonParser = new JSONParser();
        try {
            // JSONファイルの内容を解析
            JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("E:/test.json"));
            System.out.println("JSONの内容は以下の通りです:");
            System.out.println("ID: " + jsonObject.get("ID"));
            System.out.println("First name: " + jsonObject.get("First_Name"));
            System.out.println("Last name: " + jsonObject.get("Last_Name"));
            System.out.println("Date of birth: " + jsonObject.get("Date_Of_Birth"));
            System.out.println("Place of birth: " + jsonObject.get("Place_Of_Birth"));
            System.out.println("Salary: " + jsonObject.get("Salary"));
            // 配列の取得
            JSONArray jsonArray = (JSONArray) jsonObject.get("contact");
            System.out.println("");
            System.out.println("連絡先情報:");
            // 配列の内容を反復処理
            Iterator<String> iterator = jsonArray.iterator();
            while(iterator.hasNext()) {
                System.out.println(iterator.next());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

実行結果

このプログラムを実行すると、以下のような出力が得られます。

JSONの内容は以下の通りです:
ID: 1
First name: Krishna Kasyap
Last name: Bhagavatula
Date of birth: 1989-09-26
Place of birth: Vishakhapatnam
Salary: 25000

連絡先情報:
e-mail: krishna_kasyap@gmail.com
phone: 9848022338
city: Hyderabad
Area: Madapur
State: Telangana
  1. JavaScriptでJSON配列からデータを読み取る方法をサンプルコード付きで解説

    Web開発では、APIから取得したJSONデータを処理する場面が非常によくあります。本記事では、JavaScriptを使ってJSON配列からデータを読み取り、画面に表示する方法を、実際に動作するサンプルコードとともにわかりやすく解説します。 JSON配列からデータを読み取る基本の流れ JSON形式の文字列をJavaScriptで扱うには、まずJSON.parse()メソッドで文字列をJavaScriptのオブジェクト(配列)に変換します。変換後は、forEach()メソッドなどを活用して、配列の各要素に格納された値へ簡単にアクセスできます。 サンプルコード <!DOCTYPE htm

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

    JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x