gpt4 book ai didi

java - Jackson序列化: Ignore uninitialised int

转载 作者:行者123 更新时间:2023-12-01 10:05:44 26 4
gpt4 key购买 nike

现在,首先,我已经在该站点上阅读了其他答案,以及有关 jackson 序列化的其他答案,但是它们都提供了忽略null字段的方法。但是,在Java中,int不能是null

我正在尝试将Java对象ObjectMap转换为Json,但忽略任何null字段。这适用于字符串,但如果未初始化int,则最终采用0的值,并且由于0不是null,因此不会忽略该字段。

    private ObjectWriter mapper = new ObjectMapper().writer();
private myClass data = new myClass(); //class contains a string and int variable
data.setNumber(someInt); //set values
data.setString(someString);

String Json = mapper.writeValueAsString(data);

任何人都可以对此有所了解吗?

编辑:为澄清起见,我尝试使用 Integer类作为数据类型,但导致转换为 Json字符串以引发JsonProcessingException。

最佳答案

使用Jackson JsonInclude批注:

@JsonInclude(Include.NON_DEFAULT)

解决未分配的原始类型始终采用默认值的问题;在这种情况下,未分配的 int变为 0,随后将被忽略。

关于java - Jackson序列化: Ignore uninitialised int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33372004/

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