想要通过 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");
{
"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");