将嵌套的JSONObject转换为JSONArray,然后将其转换为Java

时间:2017-01-03 11:20:55

标签: java arrays json

我有一个JSON,

{
  "result": {
    "issue_date": "30-05-2003",
    "father/husband": "TEST",
    "name": "ABC ",
    "blood_group": "",
    "dob": "23-03-1912",
    "validity": {
      "non-transport": "11-12-2012 to 10-12-2032",
      "transport": "11-12-2012 to 10-12-2015"
    },
    "cov_details": {
      "MCWG": "NA",
      "3WTR": "NA",
      "PSV BUS": "NA",
      "LMV": "NA",
      "INVCRG": "NA"
    },
    "address": "ABCD"
  }
}

现在我正在使用

读取cov_details的值
cov = jsonObject.getJSONObject("result").getJSONObject("cov_details").getString("LMV");

        if(cov != null) {
            cov="LMV";
            dlCovs.put("class_of_vehicle", cov);
        }
        else{
            dlCovs.put("class_of_vehicle","");
        }
        cov1 = jsonObject.getJSONObject("result").getJSONObject("cov_details").getString("MCWG");
        if(cov1 != null){
            cov1 ="MCWG";
            dlCovs.put("class_of_vehicle", cov1);
        }

在JSONObject中并像上面提到的代码一样映射每个值,现在我的问题是我很难根据我得到的字符串编码Value(LMV,MCWG),但他们可能是几个COV_DETAILS中的更多值,所以我想要的是将每个值存储到一个Object上,以便我可以迭代这些值,以便在前端打印它。

1 个答案:

答案 0 :(得分:1)

您可以迭代json密钥进入cov_details对象。

Iterator<?> keys = jsonObject.getJSONObject("result").getJSONObject("cov_details").keys();

while( keys.hasNext() ) {
   String key = (String)keys.next();
   String value= jObject.get(key);
   //do whatever you want to do
}