gson 不忽略空,使用Gson或Jackson解序JSON时,请忽略空字段

I know there's lots of questions about skipping fields with a null value when serializing objects to JSON.

I want to skip / ignore fields with null values when deserializing JSON to an object.

Consider the class

public class User {

Long id = 42L;

String name = "John";

}

and the JSON string

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

When doing

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

I want user.id to be '1' and user.name to be 'John'.

Is this possible with either Gson or Jackson in a general fashion (without special TypeAdapters or similar)?

解决方案

Albeit not the most concise solution, with Jackson you can handle setting the properties yourself with a custom @JsonCreator:

public class User {

Long id = 42L;

String name = "John";

@JsonCreator

static User ofNullablesAsOptionals(

@JsonProperty("id") Long id,

@JsonProperty("name") String name) {

User user = new User();

if (id != null) user.id = id;

if (name != null) user.name = name;

return user;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值