如何将这个嵌套的复杂JSON解析为POJO

时间:2017-08-15 18:14:34

标签: java android json android-recyclerview pojo

我正在尝试将以下数据映射到POJO但不知道如何处理它,我必须映射这些数据并最终在回收站查看卡中显示。
直到现在我已经创建了一个ScoreCard类和SingleInning类。

我面临的主要问题是在循环遍历past_ings数组时,我不知道如何在其中存储另一个数组数组或子对象。就像如何存储以及如何在我的适配器中获取onBinderViewHolder中的值。

{
 "query": {
 "count": 1,
 "created": "2017-08-13T19:57:10Z",
 "lang": "en-US",
 "results": {
 "Scorecard": {
 "v": "0",
 "mid": "196674",
 "m": "1",
 "ecf": "0",
 "mn": "3rd Test",
 "ps": "0",
 "past_ings": [
     {
      "s": {
        "m": "1",
        "t": "1",
        "i": "3",
        "ps": "0",
        "stay_live": "Yes",
        "ld": "No",
        "ldmsg": null,
        "pms": "live",
        "dm": "Day 2",
        "sn": "3",
        "d": "Stumps",
        "a": {
           "fo": "1",
           "pp": null,
           "i": "8",
           "cr": "1.46",
           "r": "19",
           "o": "13",
           "w": "1",
           "b": "0",
           "lb": "0",
           "wd": "0",
           "nb": "0",
           "pt": "0",
           "l": "0",
           "tl": "trails by 333"
       }
    }
   },
    {
      "s": {
        "m": "1",
        "t": "1",
        "i": "3",
        "ps": "0",
        "stay_live": "Yes",
        "ld": "No",
        "ldmsg": null,
        "pms": "live",
        "dm": "Day 2",
        "sn": "3",
        "d": "Stumps",
        "a": {
        "fo": "1",
        "pp": null,
        "i": "8",
        "cr": "1.46",
        "r": "19",
        "o": "13",
        "w": "1",
        "b": "0",
        "lb": "0",
        "wd": "0",
        "nb": "0",
        "pt": "0",
        "l": "0",
        "tl": "trails by 333"
       }
      }
     }
    ]
   }
  }
 }
}

1 个答案:

答案 0 :(得分:3)

好的,你可以使用这个网站

http://www.jsonschema2pojo.org/

你把副本放在json和源类型:Json 注释样式:Gson 并单击预览,它将生成获取数据所需的类

enter image description here

假设您想要保留第一个S对象的生命值就像这样

    String stay_live= 
respnse.getQuery().getResults().getScorecard().getPastIngs().get(0).getS().getStayLive()