小编Ren*_* B.的帖子

如何GSON反序列化忽略空值并保留默认值

我有一个 JSON 对象,例如

{
    "Person":
    {
       "firstname" : null,
       "secondname" : "Baeumer" 
    }
}
Run Code Online (Sandbox Code Playgroud)

和我的 POJO 实体

public class Person{
    public String firstname = "";
    public String lastname = "";
}
Run Code Online (Sandbox Code Playgroud)

现在,我喜欢反序列化(JSON -> POJO)并忽略null值以保留默认值""

GsonBuilder::serializeNulls只能以相反的方式工作(POJO -> JSON),但不能用于反序列化。

我不想为我的所有实体写作JsonDeserializers或写作。TypeAdapter

我的最后一个解决方案是使所有内容都是可选的,并将自定义的OptionalTypeAdapterFactory与自定义的OptionalAdapter一起使用并委托值。

有没有其他通用的解决方案?如果有类似的东西就好了GsonBuilder::deSerializeNulls

java json gson deserialization

5
推荐指数
0
解决办法
584
查看次数

标签 统计

deserialization ×1

gson ×1

java ×1

json ×1