繁体   English   中英

如何在Java中解析这种类型的JSON?

[英]How to parse this type of JSON in Java?

我该如何从leaveInfo获取第三个leaveTypeId和年份?

{  
"statusCode":"1001",
"message":"Success",
"response":{  
  "leaveInfo":[  
     {  

        "leaveTypeId":1,
        "year":2014

     },
     {  

        "leaveTypeId":2,
        "year":2014

     },
     {  
        "leaveTypeId":3,
        "year":2014,

     },
     {  
        "leaveTypeId":4,
        "year":2014
     },
     {  
        "leaveTypeId":5,
        "year":2014
     },
     {  
        "leaveTypeId":6,
        "year":2014
     }
  ]
}
}

我这样做是为了满足我的需要

JSONObject jobj1 = new JSONObject(result);
String statusCode = jobj1.getString("statusCode");
if (statusCode.equalsIgnoreCase("1001"))
{
    String response = jobj1.getString("response");
    JSONObject jobj2 = new JSONObject(response);
    String leaveInfo = jobj2.getString("leaveInfo");
    System.out.println("leaveInfo: "+leaveInfo);
}

我不知道该怎么做,因为在leaveInfo中没有数组的键值。 请在这方面帮助我。

用这个

JSONObject jobj1 = new JSONObject(result);
String statusCode = jobj1.getString("statusCode");
if (statusCode.equalsIgnoreCase("1001"))
{
 String response = jobj1.getString("response");
 JSONObject jobj2 = new JSONObject(response);
 JSONArray ary=jobj2.getJSONArray("leaveInfo");
 for(int i=0;i<ary.length;i++){
 JSONObject obj=ary.getJSONObject(i);
 String leaveInfo=obj.getString("leaveTypeId");
 System.out.println("leaveInfo: "+leaveInfo);
 } 

 }

希望对您有帮助:)

暂无
暂无

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

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