有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jackson JSON将JSON对象转换为HashMap

我在Jaunt之后开始使用jackson json,但我无法理解反序列化中的一些细节

我有来自服务器的JSON响应,如下所示: enter image description here

{ success: true, stickers: [ { id: "88899", name: "", img: "" }, { id: "13161", name: "3DMAX", img: "" } ] }

我的项目中有一门贴纸课

public class Sticker { @JsonProperty("id") private String id; @JsonProperty("name") private String name; @JsonProperty("img") private String imgUrl; //getters and setters and constructors }

我想阅读此回复并创建一个贴纸列表: 列表(贴纸)贴纸列表

**另一项任务(如果使用jackson工具可能的话),我想在反序列化过程中创建HashMap(字符串、标签),而不是List(标签)**

如何轻松而恰当地完成

我找到了列表的解决方案:我创建了一个类

public class StickerPage { @JsonProperty("stickers") private List<Sticker> stickerList; public List<Sticker> getStickerList() { return stickerList; } public void setStickerList(List<Sticker> stickerList) { this.stickerList = stickerList; } }

并将其用于:

ObjectMapper objectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); StickerPage stickerPage = objectMapper.readValue(inputStream, StickerPage.class); HashMap<String, Sticker> stickerHashMap = new HashMap<>(); for (Sticker sticker : stickerPage.getStickerList()) { stickerHashMap.put(sticker.getName(), sticker); }

但我觉得这看起来很奇怪,你能帮我完成这个任务吗

Tags:  

共 (0) 个答案