JavaのJSONObjectからさまざまな型の値を取得する方法
JSONObjectは、名前/値のペアで構成される順序なしのコレクションであり、文字列からテキストを解析して、Map(マップ)のようなオブジェクトを生成します。JavaでJSONを扱う際に広く利用されているorg.jsonライブラリに含まれるこのクラスには、キーに関連付けられた値をさまざまなデータ型として取得するための重要なメソッドが用意されています。
主な値取得メソッドの一覧
- getString():指定したキーに関連付けられた文字列(String)の値を取得します。
- getInt():指定したキーに関連付けられたint型の値を取得します。
- getDouble():指定したキーに関連付けられたdouble型の値を取得します。
- getBoolean():指定したキーに関連付けられたboolean型(true/false)の値を取得します。
これらのメソッドを使用することで、JSONオブジェクト内の値を目的の型に変換しながら簡単に取り出すことができます。
サンプルコード
import org.json.*;
public class JSONObjectTypeValuesTest {
public static void main(String[] args) throws JSONException {
JSONObject jsonObj = new JSONObject(
"{" +
"Name : Adithya," +
"Age : 22, " +
"Salary: 10000.00, " +
"IsSelfEmployee: false " +
"}"
);
System.out.println(jsonObj.getString("Name")); // 文字列を取得
System.out.println(jsonObj.getInt("Age")); // int値を取得
System.out.println(jsonObj.getDouble("Salary")); // double値を取得
System.out.println(jsonObj.getBoolean("IsSelfEmployee")); // true/falseを取得
}
}
実行結果
Adithya 22 10000.0 false
上記の例では、1つのJSONObjectに対して、getString()で名前を、getInt()で年齢を、getDouble()で給与を、getBoolean()で自営業かどうかのフラグをそれぞれ取得しています。このように、JSONの各値に対応する適切なゲッターメソッドを使い分けることで、型安全にデータを扱うことが可能になります。
-
Javaでフォルダ内のディレクトリ(フォルダ)のみを取得する方法
Javaで特定のフォルダに含まれるファイルではなく、ディレクトリ(サブフォルダ)だけを取得したいケースはよくあります。本記事では、代表的な2つの方法——FileFilterインターフェースを使う方法と、NIOのFiles.walk()を使う方法——をサンプルコード付きで解説します。listFiles()メソッドとFileFilterの基本FileクラスのlistFiles()メソッドは、そのFileオブジェクトが表すパスに含まれるすべてのファイルおよびディレクトリの抽象パス名を、配列として返します。ここで活躍するのがFileFilterインターフェースです。FileFilterはパス名をフィル
-
JavaでJsonPointerインターフェースを使用してJSONのキーの値を取得する方法
JSONPointerは、JSONドキュメント内の特定のキーの値へアクセスするための文字列構文を定義した標準規格です。Jsonクラスの静的ファクトリメソッドであるcreatePointer()を呼び出すことで、JSONPointerのインスタンスを生成できます。JSONPointerでは、すべての文字列構文がスラッシュ「/」で始まるのが特徴です。キーの値を取得するには、JSONPointerオブジェクトに対してgetValue()メソッドを呼び出します。 前提条件 この記事のコードを実行するには、Java EE / Jakarta EEに含まれるJSON Processing(JSON-P)の