Android で JSON データを解析する方法
JSONデータをパースする方法としては以下のものが挙げられます。
* **JSONObjectとJSONArrayを使用**: JSONデータをJSONObjectまたはJSONArrayオブジェクトに変換し、getメソッドを使って個別の値を取得します。
“`java
String jsonString = “{ \”name\”:\”John\”, \”age\”:30, \”city\”:\”New York\” }”;
try {
JSONObject jsonObject = new JSONObject(jsonString);
String name = jsonObject.getString(“name”);
int age = jsonObject.getInt(“age”);
String city = jsonObject.getString(“city”);
} catch (JSONException e) {
e.printStackTrace();
}
“`
* **Gsonライブラリを使用**: GsonはGoogleが提供するJSONデータ処理ライブラリで、JSONデータをJavaオブジェクトに直接変換できます。
“`java
String jsonString = “{ \”name\”:\”John\”, \”age\”:30, \”city\”:\”New York\” }”;
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);
String name = person.getName();
int age = person.getAge();
String city = person.getCity();
“`
(JSONデータに対応するJavaクラスPersonを定義し、Personクラスのメンバー変数がJSONデータのフィールド名に対応していることを確認する必要があります。)
* **Jacksonライブラリを使用**: JacksonもJSONデータ処理ライブラリで、Gsonと同様の方法で使用できます。
“`java
String jsonString = “{ \”name\”:\”John\”, \”age\”:30, \”city\”:\”New York\” }”;
ObjectMapper objectMapper = new ObjectMapper();
try {
Person person = objectMapper.readValue(jsonString, Person.class);
String name = person.getName();
int age = person.getAge();
String city = person.getCity();
} catch (JsonProcessingException e) {
e.printStackTrace();
}
“`
(こちらも、JSONデータに対応するJavaクラスPersonを定義し、Personクラスのメンバー変数がJSONデータのフィールド名に対応していることを確認する必要があります。)