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

JavaでJSONファイルを読み込む方法|json-simpleライブラリの使い方を徹底解説

JSON(JavaScript Object Notation)は、人間が読み書きしやすいデータ交換のために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONで使われる記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通した開発者にとって馴染み深いものとなっています。

サンプルJSONドキュメント

以下は、書籍情報を格納した典型的なJSONドキュメントの例です。

{
    "book": [
        {
            "id": "01",
            "language": "Java",
            "edition": "third",
            "author": "Herbert Schildt"
        },
        {
            "id": "07",
            "language": "C++",
            "edition": "second",
            "author": "E.Balagurusamy"
        }
    ]
}

json-simpleライブラリとは

json-simpleは、JSONオブジェクトを処理するための軽量なJavaライブラリです。このライブラリを使用することで、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。依存関係が少なく導入も簡単なため、シンプルな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ファイルを作成する

まず、6つのキーと値のペアを持つ sample.json という名前のJSONドキュメントを作成しましょう。

{
    "ID": "1",
    "First_Name": "Shikhar",
    "Last_Name": "Dhawan",
    "Date_Of_Birth": "1981-12-05",
    "Place_Of_Birth": "Delhi",
    "Country": "India"
}

JSONファイルを読み込む手順

Javaプログラムを使ってJSONファイルの内容を読み取るには、以下の手順に従います。

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

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

JSONParser jsonParser = new JSONParser();

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

次に、parse() メソッドを使用して、取得したオブジェクトの内容を解析します。

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

3. get()メソッドで値を取得

最後に、get() メソッドを使用して、キーに関連付けられた値を取得します。

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

完全なサンプルコード

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

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

public class ReadingJSON {
    public static void main(String args[]) {
        // JSONParserオブジェクトの生成
        JSONParser jsonParser = new JSONParser();
        try {
            // JSONファイルの内容を解析
            JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("E:/sample.json"));
            String id = (String) jsonObject.get("ID");
            String first_name = (String) jsonObject.get("First_Name");
            String last_name = (String) jsonObject.get("Last_Name");
            String date_of_birth = (String) jsonObject.get("Date_Of_Birth");
            String place_of_birth = (String) jsonObject.get("Place_Of_Birth");
            String country = (String) jsonObject.get("Country");

            // 結果の表示
            System.out.println("Contents of the JSON are: ");
            System.out.println("ID :"+id);
            System.out.println("First name: "+first_name);
            System.out.println("Last name: "+last_name);
            System.out.println("Date of birth: "+date_of_birth);
            System.out.println("Place of birth: "+place_of_birth);
            System.out.println("Country: "+country);
            System.out.println(" ");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

実行結果

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

Contents of the JSON are:
ID :1
First name: Shikhar
Last name: Dhawan
Date of birth :1981-12-05
Place of birth: Delhi
Country: India

まとめ

このように、json-simpleライブラリを使えば、わずか数行のコードでJSONファイルの内容を簡単に読み取ることができます。JSONParser で解析し、get() メソッドで必要な値を取り出すという基本の流れを押さえておけば、さまざまなJSONデータの処理に応用できます。なお、より高度な機能が必要な場合は、JacksonやGsonといった他のJSONライブラリも検討してみるとよいでしょう。

  1. Javaでプロパティファイルからデータを読み取る方法を解説

    JavaのPropertiesクラスは、Hashtableクラスのサブクラスであり、永続化可能なプロパティの集合(プロパティセット)を表します。Propertiesオブジェクトはストリームへ保存したり、ストリームから読み込んだりすることができます。また、プロパティリスト内の各キーとそれに対応する値は、どちらも文字列型として扱われます。Javaでは、Propertiesファイルを使うことでアプリケーションの設定情報を外部化し、キーと値(key-value)のペアとして管理できます。Propertiesクラスが提供するload()メソッドを使用すると、.propertiesファイルに記述されたキー

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

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