想要通过 java 获取嵌套的 JSON 数据(计数值)

Want to take nested JSON data(count value) through java

{
 "success": true,
 "data": {
 "count": 0,
 "list": []
 }
}

我有一个 json 数据,我想在其中检查计数并打印它的值

首先我用的是jsonpath()函数,因为它很放心,里面放了response

ArrayList a = response.jsonPath().get("data");

以上代码出错:

java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.ArrayList

您的 data 属性 包含一个 json 对象而不是 json 数组。因此,您不能将其转换为 ArrayList。应该是,

Map<String, Object> data = (Map<String, Object>)response.jsonPath().get("data");
int count = ((Number) data.get("count")).intValue();

最简单的解决方案是像这样使用 JsonPath

int count = response.jsonPath().getInt("data.count");