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