gpt4 book ai didi

java - 使用 Gson 或 Jackson 反序列化 JSON 时忽略空字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:34 28 4
gpt4 key购买 nike

我知道有很多关于在将对象序列化为 JSON 时跳过空值字段的问题。在将 JSON 反序列化为对象时,我想跳过/忽略具有空值的字段。

考虑类

public class User {
Long id = 42L;
String name = "John";
}

和JSON字符串

{"id":1,"name":null}

做的时候

User user = gson.fromJson(json, User.class)

我希望 user.id 为“1”,user.name 为“John”。

这是否可以通过 Gson 或 Jackson 以一般方式实现(没有特殊的 TypeAdapter 或类似的)?

最佳答案

很多时间过去了,但如果你像我一样遇到这个问题并且你至少使用 Jackson 2.9 那么你可以解决它的一种方法是使用 JsonSetterNulls.SKIP :

public class User {
private Long id = 42L;

@JsonSetter(Nulls.SKIP)
private String name = "John";

... cooresponding getters and setters

}

这样,遇到null时,就不会调用setter。

注意:更多细节可以找到here .

关于java - 使用 Gson 或 Jackson 反序列化 JSON 时忽略空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452668/

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