gpt4 book ai didi

java - JSON:使 Jackson 仅序列化为对象显式设置的字段

转载 作者:行者123 更新时间:2023-12-02 04:04:00 25 4
gpt4 key购买 nike

我有一个 Java 对象,我想将其序列化为 JSON。但是,在执行此操作之前,我在该对象的字段上设置了一些属性。现在我想将此对象序列化为 JSON。如何仅序列化显式分配值的字段并基本上排除所有其他字段?

对我来说,在对象类上方添加这些注释不起作用:@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) 。原因是我有具有原始数据类型的字段。通过添加上述两个注释之一,我并没有阻止原始数据类型字段被序列化。例如,我有几个 boolean 字段,它们将以其默认值 false 进行序列化。但是,我不希望这些字段出现在 JSON 结果中,因为我在序列化过程之前没有显式设置它们的值。有什么想法吗?

有关更多信息:我正在使用 Jackson ObjectMapper。

最佳答案

从 Jackson 2.6 开始,使用 @JsonIncludeInclude.NON_DEFAULT .

Value that indicates that only properties that have values that differ from default settings (meaning values they have when Bean is constructed with its no-arguments constructor) are to be included.

Jackson 将创建您的类的一次性实例,以便它可以验证哪些属性值与默认值不同,并且仅序列化这些属性值。

关于java - JSON:使 Jackson 仅序列化为对象显式设置的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559555/

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