从嵌套的json数据返回索引值

时间:2019-12-16 10:59:36

标签: java json

我需要找出符合条件的数据索引为真,并使用数据索引号返回符合条件的公司名称。

我能够找到索引,如果它是正确的,但是不合适,并且我无法理解如何返回其他函数。

这是示例approvec =

  

{“ usecase”:“ OPs”,“ annualFee”:60,“ data”:{       “ 10017”:{         “ company”:“ Vodafone”,         “合格”:true       },       “ 10035”:{         “ company”:“ Verizone”,         “合格”:true       }}

JSONObject jsonObject = new JSONObject(approvec);
        JSONObject mnoMetadata = jsonObject.getJSONObject("data");
                for (String mnoData: mnoMetadata.keySet()) {
                    JSONObject mnoMetadata1123=mnoMetadata.getJSONObject(mnoData);
                    boolean val=mnoMetadata1123.getBoolean("qualify");
                    System.out.println(val);
        }

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

在这里尝试一下。此代码段返回ID列表,您可以返回这些ID的qualify = true

JSONObject jsonObject = new JSONObject(approvec).getJSONObject("data");
JSONArray ids = jsonObject.names();
List < String > returnIds = new ArrayList < > ();
for (int i = 0; i < ids.length(); i++) {
    String id = ids.getString(i);
    if (jsonObject.getJSONObject(id).getBoolean("qualify"))
        returnIds.add(id);
}

return returnIds;