简体   繁体   English

解析JSONArray中的JSONArray

[英]Parse JSONArray inside JSONArray

I am using Gson for parsing json response. 我正在使用Gson解析json响应。 I need to parse JSONArry inside JsonArray.. 我需要在JsonArray中解析JSONArry。

My response is.. 我的回应是

{
"message": "Retreive sucessfully",
"flag": true,
"data": {
    "myArray1": [[{
        "xyz": "1400.0",
        "abc": "O",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "J",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "I",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "D",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "C",
        "mnp": "leeper"
    }],
    [{
        "xyz": "1400.0",
        "abc": "M",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "L",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "G",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "F",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "A",
        "mnp": "leeper"
    }]],
    "myArray2": [[{
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    }],
    [{
        "xyz": "1400.0",
        "abc": "LS5",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "LS4",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "LS3",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "LS2",
        "mnp": "leeper"
    },
    {
        "xyz": "1400.0",
        "abc": "LS1",
        "mnp": "leeper"
    }],
    [{
        "xyz": "1000.0",
        "abc": "19",
        "mnp": "taes"
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    }],
    [{
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "20",
        "mnp": "taes"
    },
    {
        "xyz": "1000.0",
        "abc": "6",
        "mnp": "taes"
    },
    {
        "xyz": "1000.0",
        "abc": "3",
        "mnp": "taes"
    },
    {
        "xyz": "1000.0",
        "abc": "2",
        "mnp": "taes"
    }],
    [{
        "xyz": "1000.0",
        "abc": "notaes",
        "mnp": null
    },
    {
        "xyz": "1000.0",
        "abc": "1",
        "mnp": "taes"
    }]]
},
"code": "99"
}

What should be my class? 我应该上什么课? I have done like this... 我已经做到了

public class MyLayout {
public String message;
public boolean flag;
public Data data;
public String commandName;
public String code;

public class Data {
    public ArrayList<MyClass> myArray1 = new ArrayList<MyLayout.MyClass>();
    public ArrayList<MyClass> myArray2 = new ArrayList<MyLayout.MyClass>();
}

public class MyClass {
    public String abc;
    public String xyz;
    public String mnp;
}

}

It's not working?? 它不起作用吗?

EDIT 编辑

My Above MyLayout works when response is like below..But what about myArray item also contains JSONArray 当响应如下时,My Above MyLayout起作用。.但是myArray项还包含JSONArray

{
"message": "Retreive sucessfully",
"flag": true,
"data": {
"myArray1": [{
    "xyz": "1400.0",
    "abc": "O",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "J",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "I",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "D",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "C",
    "mnp": "leeper"
}],
"myArray2": [{
    "xyz": "1400.0",
    "abc": "LS5",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "LS4",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "LS3",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "LS2",
    "mnp": "leeper"
},
{
    "xyz": "1400.0",
    "abc": "LS1",
    "mnp": "leeper"
}]
},
"code": "99"
}

myArray1 and myArray2 are arrays of arrays, so you'll need to modify Data to look like this: myArray1myArray2是数组的数组,因此您需要修改Data使其看起来像这样:

public class Data {
  public List<List<MyClass>> myArray1 = ...
  public List<List<MyClass>> myArray2 = ...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM