gpt4 book ai didi

java - 如何在从 JSON 反序列化期间忽略具有空值的属性

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:29:54 26 4
gpt4 key购买 nike

我正在尝试将 JSON 字符串反序列化为 ConcurrentHashMap 对象,但出现错误,因为我的 JSON 包含具有空值的属性,但 ConcurrentHashMap 不接受空值。这是代码片段:

ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonString, ConcurrentHashMap.class);

有没有办法在反序列化过程中忽略具有空值的属性?我知道我们可以在序列化期间忽略这些属性:

mapper.setSerializationInclusion(JsonInclude.NON_NULL);

但是反序列化过程呢?

最佳答案

可能有更好的方法,但解决方法是:

Map<String, Object> map = mapper.readValue(jsonString, HashMap.class);
map.values().removeIf(o -> o == null);
return new ConcurrentHashMap<> (map);

关于java - 如何在从 JSON 反序列化期间忽略具有空值的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com