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

时间:2019-07-26 11:45:00

标签: java json rest rest-assured rest-assured-jsonpath

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

我有一个要检查计数并打印其值的json数据

首先,我使用jsonpath()函数是因为它可以确保放心并将响应放入其中

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

上面的代码给出了错误:

  

java.lang.ClassCastException:无法将java.util.HashMap强制转换为java.util.ArrayList

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是像这样使用for post in posts.itmes:

JsonPath

答案 1 :(得分:0)

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

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