java Jackson JSON将JSON对象转换为HashMap
我在Jaunt之后开始使用jackson json,但我无法理解反序列化中的一些细节
{
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);
}
但我觉得这看起来很奇怪,你能帮我完成这个任务吗
共 (0) 个答案