我使用的是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());
那也失败了。实际上编译失败了。
答案 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。