0

我从服务器返回 json,如下所示:

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

如何获取数组组和子组?

我在 Android 客户端上使用 restlet。

谢谢大家。

4

2 回答 2

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".

您也可以重复此模式以获得“子组”。

于 2012-05-29T17:08:12.650 回答
0

我解决了这个问题如下:

首先更改服务器的json:

从:

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

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

第二个在Android客户端我做这个:

一个获取第一个数组的类,带有 firstArray“数组”的类 ServerModel:

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

第三类具有 secondArray “组”:

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;
    }
}

第四类与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 回答