如何从restassured JsonPath </jsonpath>获取List <jsonpath>

时间:2012-09-21 19:50:25

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

我使用的是restassured框架,在其中,它有JsonPath类。 JsonPath的方法签名是getList(String path,Class T);

我试图做这样的事情:

List<JsonPath> myList = myJsonPathObject.getList("mypath", JsonPath.class);

我得到一个运行时转换异常。那么调用它的正确格式是什么呢。 我也尝试过:

List<JsonPath> myList = myJsonPathObject.getList("mypath", new ArrayList<JsonPath>().getClass());

那也失败了。实际上编译失败了。

2 个答案:

答案 0 :(得分:2)

JsonPath用于从JSON文档中提取值。您无法从JSON文档中获取“JsonPath”列表。

答案 1 :(得分:0)

我知道这是一个古老的威胁,但有人评论并提醒我这一点。我实际上找到了这个问题的答案。

我必须做的是将它投射到Map<String, Object>并在迭代对象时,我必须将对象强制转换为适当的类。

Map<String, Object> myMap = (Map<String, Object>) myJsonPathObject.get("mypath");
for (String key : myMap.getKeySet()) {
  Map<String, Object> subMyMap = (Map<String, Object>) myMap.get(key);
}

所以现在我可以继续在json中获得额外的模型,json。