使用Java验证JSON数组的Restful API包含特定值

时间:2015-11-12 18:47:05

标签: java arrays json rest

JSON示例代码:

[  
   {  
      "name":"Norway",
      "languages":[  
         "no",
         "nb",
         "nn"
      ]
   }
]

我正在尝试使用Java来验证响应“语言”包含“否”,我的代码如下所示,但我如何验证这一点,感谢任何回复。

    //Fetching response in JSON
    JSONArray jsonResponse = new JSONArray(resp.asString());

    //Fetching value of languages parameter
    JSONArray languages = jsonResponse.getJSONObject(0).getJSONArray("languages");

1 个答案:

答案 0 :(得分:1)

由于JSONArray似乎没有contains方法,我认为最好的解决方案只是一个简单的for循环:

boolean containsNo = false;

for (int i = 0; i < languages.length(); i++) {
    if ("no".equals(languages.getString(i))) {
        containsNo = true;
        break;
    }
}

System.out.println(containsNo);  // prints "true"