我有一个json数组,其中的json对象具有-id和values元素。类似这样的东西:
[
{
"id": "123",
"value": "test",
},
{
"id": "223",
"value": "test12",
}
]
我需要查询JSONArray并找到id = 123的值。
我尝试了流api,但是它给了我“未处理的异常:org.JSOn.JSonException'。
JSONArray jsonResponse = new JSONArray(response.asString());
List<JSONObject> jsonItems = IntStream.range(0, jsonResponse.length()).mapToObj(index -> (JSONObject) jsonResponse.get(index)).collect(Collectors.toList());
jsonItems.forEach(arrayElm -> arrayElm.get("id").equals("123"));
在'jsonResponse.get(index)'和'arrayElm.get(“ id”)'处提供JSOnexception。
答案 0 :(得分:0)
简单的解决方案是创建一个与Json字符串相对应的对象。使用Jackson框架将Json字符串转换为Object。每个对象将具有id,value和其他参数等字段。最后,您将获得对象的数组。现在,迭代每个对象并检查以获取所需的值,或者您还使用Java 8 lambda查找所需的值。此外,如果要为json字符串创建对象,请点击链接。