【Android】JSON形式のデータをJSONArrayに変換する

Android アプリ開発中に、JSONJSONArray に変換するという処理を行ったので備忘録としてまとめ。

参考にさせていただいた記事はこちらから。

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

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG