Android アプリ開発中に、JSON を JSONArray に変換するという処理を行ったので備忘録としてまとめ。
参考にさせていただいた記事はこちらから。
AndroidでJSONの読み書き – Ararami Studio
https://araramistudio.jimdo.com/2018/01/15/androidでjsonを扱う/
今回サンプルとして使用する JSON データはこちらです。
[
{ "userId": 1, "name": "田中", "age": 20 },
{ "userId": 2, "name": "鈴木", "age": 21 },
{ "userId": 3, "name": "山田", "age": 22 },
{ "userId": 4, "name": "佐藤", "age": 24 },
]
まず、下記のようなオブジェクトを作っておきます。
public class ModelPerson {
int userId;
String name;
int age;
public int getUserId() {
return userId;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setUserId(int userId) {
this.userId = userId;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
正直作らなくてもいいのですが、データ取得後に GridView に表示させたいので、扱いやすいデータに変換しています。
あとは下記のコードを記述すればOKです!
final ArrayList<ModelPerson> persons = new ArrayList<>();
JSONArray array = new getJSONArray(['変換したいJSONデータ']);
for (int i = 0; i < array.length(); ++ i) {
JSONObject data = array.getJSONObject(i);
ModelPerson modelPerson = new ModelPerson();
modelPerson.setUserId(data.getInt("userId"));
modelPerson.setName(data.getString("name"));
modelPerson.setAge(data.getInt("age"));
persons.add(modelPerson);
}
まず 1行目で最終的な結果を格納する変数 persons を用意し、2行目で変換したい JSON データを JSONArray に変換しています。
そして、その JSONArray のデータを for() 文で展開し、persons に格納します。
処理としては以上です!
なお、JSON データを JSONArray に変換するだけなら、サンプルコードの 2行目だけを実行してください。
以上、Android で JSON データを JSONArray に変換する方法についてでした。
ご参考になれば幸いです。