0

次のようにサーバーからjsonが返されます。

[{"id":1,"group":[{"id":1,"subGroup":[{"id":1,"item":"X"}]}]}]

配列グループとサブグループを取得するにはどうすればよいですか?

Android クライアントで restlet を使用しています。

皆さんありがとう。

4

2 に答える 2

0

この問題を次のように解決しました。

最初にサーバーのjsonを変更します:

から:

[{"id":1,"group":[{"id":1,"subGroup":[{"id":1,"item":"X"}]}]}]

{"array":[{"id":1,"group":[{"id":1,"subGroup":[{"id":1,"item":"X"}]}]}]}

2 番目の Android クライアントでは、次のようにします。

最初の配列を取得するクラス、firstArray "array" を持つクラス ServerModel:

public class ServerModel implements Serializable {
    private static final long serialVersionUID = 1L;
    private FirstArray[] array;
    public ServerModel() {
    }
    public ServerModel(FirstArray[] array) {        
        this.array = array;
    }
}

3 番目に secondArray "group" を持つクラス:

public class FirstArray implements Serializable {
    private static final long serialVersionUID = 1L;
    private SecondArray[] group;
    private int id;
    public FirstArray() {
    }
    public FirstArray(int id, SecondArray[] group) {
        this.id = id;
        this.group = group;
    }
}

4 番目に thirdArray "subGroup" を持つクラス:

public class SecondArray implements Serializable {
    private static final long serialVersionUID = 1L;
    private Itens[] subGroup;
    private int id;
    public SecondArray() {
    }
    public SecondArray(int id, Itens[] subGroup) {
        this.id = id;
        this.subGroup = subGroup;
    }
}

最後に itens のクラス「item」

public class Itens implements Serializable {
    private static final long serialVersionUID = 1L;
    private String item;
    private int id;
    public Itens() {
    }
    public Itens(int id, String item) {
        this.id = id;
        this.item = item;
    }
}

助けてくれてありがとう!!!

于 2012-05-29T19:23:00.083 に答える
0
String mResponse = "[{"id":1,"group":[{"id":1,"subGroup":[{"id":1,"item":"X"}]}]}]";
JSONArray responseArrayJson = new JSONArray(mResponse); // This creates a JSON array from your response string.
JSONObject objectJson = responseArrayJson.getJSONObject(0); // gets the one and only JSON object in your array.
JSONArray groupArrayJson = objectJson.getJSONArray("group"); // gets the array indexed by "group".

このパターンを繰り返して、「subGroup」も取得できます。

于 2012-05-29T17:08:12.650 に答える