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 に変換する方法についてでした。
ご参考になれば幸いです。