繁体   English   中英

获取嵌套的JSON Object值 - Java SimpleJson

[英]get the nested JSON Object value - Java SimpleJson

JSON:

{
    "issues":[
         {
             "id":"120171",
             "fields":{
                 "name":"Story",
                  "issuetype":{
                      "data":"inprogress"
                  }
             }
         },
         {
             "id":"1201",
             "fields":{
                 "name":"plot",
                 "issuetype":{
                     "data":"Unknown"
                 }
             }
     }]
}

我正在使用Simple JSON,我正在尝试从JSON数组(问题)中提取id,名称和数据。

JSONArray ja = (JSONArray) jsonObject.get("issues");
for(int i=0;i<ja.size() ; i++){
    JSONObject tempJsonObj = (JSONObject) ja.get(i);
    System.out.println(tempJsonObj.get("id").toString());
}

我能够提取id值,如何淘汰名称和数据的数据。

这可能是你正在寻找的:

public static void main(String[] args) throws Exception {
    JSONParser parser = new JSONParser();
    JSONObject jsonObject = (JSONObject) parser.parse(JSON);
    JSONArray ja = (JSONArray) jsonObject.get("issues");

    for(int i=0;i<ja.size() ; i++){
        JSONObject tempJsonObj = (JSONObject) ja.get(i);
        System.out.println(String.format("ID: %s", tempJsonObj.get("id").toString()));

        JSONObject fields = (JSONObject) tempJsonObj.get("fields");
        JSONObject issuetype = (JSONObject) fields.get("issuetype");

        System.out.println(String.format("Name: %s", fields.get("name").toString()));
        System.out.println(String.format("Data: %s", issuetype.get("data").toString()));
    }
}

输出:

ID: 120171
Name: Story
Data: inprogress
ID: 1201
Name: plot
Data: Unknown

暂无
暂无

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

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