首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ObjectMapper writeValueAsString on 'null‘vs 'NullNode.getInstance()’

ObjectMapper writeValueAsString on 'null‘vs 'NullNode.getInstance()’
EN

Stack Overflow用户
提问于 2021-05-06 17:42:57
回答 1查看 238关注 0票数 1

考虑以下语句:

String s1 = new ObjectMapper().writeValueAsString(null);

String s2 = new ObjectMapper().writeValueAsString(NullNode.getInstance());

在这两种情况下,序列化后的值s1s2都是"null" (字符串格式)。默认情况下,Jackson会毫无异常地序列化null对象。在哪些情况下,我们需要使用NullNode,而不是直接序列化null

EN

Stack Overflow用户

回答已采纳

发布于 2021-05-06 17:58:41

这里的"null"是一个字符串,而不是null值。这就是writeValueAsString所做的:它将null值或NullNode作为"null"字符串写入。

在Jackson中,NullNode是一种表示null值的特殊类型。例如,读取以下JSON将反序列化为NullNode (单例):

代码语言:javascript
运行
复制
JsonNode readValue = new ObjectMapper().readValue(" { \"abc\" : null }", JsonNode.class);
JsonNode jsonNode = readValue.get("abc"); // will return a NullNode
assertTrue(jsonNode == NullNode.getInstance());
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67415632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档