我有一个 POJO Artwork
。我正在从 JSON 格式的 HTTP 响应正文中的 RESTful Web 服务中检索这些对象的 List
。我正在尝试编写一个基于 Rest Assured 的测试来分析返回的列表。代码如下所示:
Response response = get("/artwork");
List returnedArtworks = response.getBody().as(List.class)
问题是,我无法让 Rest Assured 将返回的 JSON 解析为 List<Artwork>
。相反,我得到了 List<LinkedHashMap>
。该地图具有适当的结构,即可以由 Jackson 映射到 Artwork
对象,但我想避免手动映射它。
我的模型中的 JSON 映射没问题,因为当我像这样映射单个对象时:
Artwork returnedArtwork = response.getBody().as(Artwork.class);
它工作正常。
是否有可能得到 returnedArtworks
作为 List<Artwork>
?
原文由 Wojtek 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以这样做:
诀窍是将 JSON 反序列化为一个对象数组(因为数组和列表的 JSON 字符串没有区别),然后将数组转换为列表。