JavaでネストされたJSONオブジェクトを解析する方法【getString(index)の使い方】
JSON(JavaScript Object Notation)は、軽量・テキストベース・言語非依存という特徴を持つデータ交換フォーマットです。JSONでは、オブジェクトと配列という2種類の構造化データを表現できます。
JSONArrayクラスは、文字列からテキストを解析してベクトルのようなオブジェクトを生成するためのクラスです。ネストされたJSONオブジェクトを解析するには、JSONArrayが提供するgetString(index)メソッドを使用します。このメソッドはgetJSONString(index).getString()の簡易メソッドであり、指定した位置にある文字列値を返します。
構文
String getString(int index)
コード例
以下の例では、「userInfo」というキーに配列として格納された複数のユーザー情報(ネストされたJSON)を解析し、各要素から「username」の値を取り出しています。
import java.util.*;
import org.json.*;
public class NestedJSONObjectTest {
public static void main(String args[]) {
String jsonDataString = "{userInfo : [{username:abc123}, {username:xyz123},{username:pqr123}, {username:mno123},{username:jkl123}]}";
JSONObject jsonObject = new JSONObject(jsonDataString);
List<String> list = new ArrayList<String>();
JSONArray jsonArray = jsonObject.getJSONArray("userInfo");
for(int i = 0 ; i < jsonArray.length(); i++) {
list.add(jsonArray.getJSONObject(i).getString("username"));
System.out.println(jsonArray.getJSONObject(i).getString("username")); // ユーザー名を表示
}
}
}実行結果
abc123 xyz123 pqr123 mno123 jkl123
処理の流れのポイント
- JSONObjectの生成: JSON形式の文字列を渡してJSONObjectインスタンスを作成します。
- 配列の取得: getJSONArray("userInfo")で、キー「userInfo」に対応するJSONArrayを取得します。
- 要素の取り出し: ループ処理内でgetJSONObject(i)により各要素を取得し、getString("username")でユーザー名を抽出します。
このように、JSONArrayとgetString(index)系メソッドを組み合わせることで、ネストされたJSONデータもシンプルなコードで効率的に解析できます。
-
AndroidでJSON文字列を解析(パース)する方法をわかりやすく解説
AndroidでJSON文字列を解析する方法この記事では、AndroidアプリでJSON文字列を解析(パース)する方法を、サンプルコード付きで段階的に解説します。JSONObjectやJSONArrayクラスを使えば、JSON形式のデータから必要な値を簡単に取り出すことができます。手順1:新しいプロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な情報を入力してプロジェクトを作成してください。手順2:レイアウトファイル(activity_main.xml)を編集する次に、res/layout
-
【Java】JSONオブジェクトをファイルに書き込む方法(json-simpleライブラリの使い方)
JSON(JavaScript Object Notation)は、現在もっとも広く使われているデータ交換フォーマットのひとつです。軽量であることと、特定のプログラミング言語に依存しないことが大きな特徴で、異なるシステム間でのデータやり取りに最適です。 JavaでJSONファイルを読み書きするには、json-simple ライブラリが便利です。json-simpleは軽量なJSON処理ライブラリで、JSONテキストのエンコード(書き込み)とデコード(読み込み)の両方に対応しており、JSON仕様(RFC4627)に完全準拠しています。 ライブラリの準備 json-simpleを使用するには、まず