Android 组合json并生成arraylist<;对象>;

Android 组合json并生成arraylist<;对象>;,android,json,arraylist,Android,Json,Arraylist,我有JSON,我想将第一个对象中的数据合并到第二个对象中 { "ViewId": { "56": { "ViewId": "56", "Name": "hi", "param": "value" }, "88": { "ViewId": "88", "Name": "hi2", "param": "

我有JSON,我想将第一个对象中的数据合并到第二个对象中

{
    "ViewId": {
        "56": {
            "ViewId": "56",
            "Name": "hi",
            "param": "value"
        },
        "88": {
            "ViewId": "88",
            "Name": "hi2",
            "param": "value2"
        }
    },
    "que": [
        {
            "RId": "123",
            "ViewId": "88",
            "Count": 0
        },
        {
            "RId": "456",
            "ViewId": "56",
            "Count": 0
        }
    ]
}
基本上,我正在制作ArrayList,如何将ViewId数据添加到que中。 我想以以下方式合并JSON:

{
    "que": [
        {
            "RId": "123",
            "ViewId": "88",
            "Name": "hi2",
            "param": "value2",
            "Count": 0
        },
        {
            "RId": "456",
            "ViewId": "56",
            "Name": "hi",
            "param": "value",
            "Count": 0
        }
    ]
}
JSONObject ViewIdJsnObject=new JSONObject()//在此处用ViewId Json对象替换新的JSONObject()
JSONArray queArray=新的JSONArray()//用实际的json数组替换新的JSONArray();
//遍历数组中的所有对象
if(queArray!=null&&queArray.length()>0){
对于(inti=0;i创建一个类

public class Data {
    int id;
    List<Que> que = new ArrayList<Que>();


    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public List<Que> getQue() {
        return que;
    }
    public void setQue(List<Que> que) {
        this.que = que;
    }

}
使用
gson

Gson gson = new Gson();
        Data data = gson.fromJson(json, Data.class);
        List<Que> queList = data.getQue();
        for(Que que : queList){
            System.out.println("This is R ID" +que.RId);
            System.out.println("This is View ID" +que.ViewId);
            System.out.println("This is Count" +que.Count);
Gson-Gson=new-Gson();
Data=gson.fromJson(json,Data.class);
List queList=data.getQue();
对于(Que Que:queList){
System.out.println(“这是R ID”+que.RId);
System.out.println(“这是视图ID”+que.ViewId);
System.out.println(“这是计数”+que.Count);

确保您的json属性名称与java实例参数匹配。

不清楚您想要什么。请尝试更正确地回答您的问题。请使用逗号和大写字母。您可以为此运行一个循环,检查viewId数组中相应的JSONObject,并对其进行修改。是否要将viewId的元素合并到qu中e?像viewId的第一个元素应该合并到que的第一个元素中,对吗?是的,我想合并,但根据der viewId,像viewId的88应该添加到que的视图id是88,您可以添加关于您正在使用的JSON库的信息吗?(如果有的话?)queObj没有添加它将始终与数据重叠您应该直接将它添加到数组列表中。首先添加que对象,然后添加相应的名称¶m valuesJSONArray finalValue=new JSONArray();然后添加到finalValue.put(queObj)在for循环中。finalValue将拥有所有data@andro这会有用的。很抱歉,我很懒。您必须找出其他json字段,如上面的“que”,即“ViewId”:“56”:{……},…},
public class Que {
    int RId;
    int ViewId;
    int Count;


    public int getrId() {
        return RId;
    }
    public void setrId(int rId) {
        this.RId = rId;
    }
    public int getViewId() {
        return ViewId;
    }
    public void setViewId(int viewId) {
        this.ViewId = viewId;
    }
    public int getCount() {
        return Count;
    }
    public void setCount(int count) {
        this.Count = count;
    }

}
Gson gson = new Gson();
        Data data = gson.fromJson(json, Data.class);
        List<Que> queList = data.getQue();
        for(Que que : queList){
            System.out.println("This is R ID" +que.RId);
            System.out.println("This is View ID" +que.ViewId);
            System.out.println("This is Count" +que.Count);