Avatar ·

如何让Jackson在序列化为JSON时忽略null字段?

大家好!我刚开始学习使用Jackson处理Java中的JSON,遇到了一个问题。我有一个User类,包含几个字段,其中一些可能为null。当我将对象序列化为JSON时,Jackson默认会包含这些null字段,导致输出杂乱。例如:

public class User {
    private String name;
    private String email;
    private String phone;
    // getters and setters
}

User user = new User();
user.setName("伊万");
// email和phone未设置,它们为null

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
// 结果:{"name":"伊万","email":null,"phone":null}

我需要让值为null的字段不包含在JSON中。我希望得到类似这样的结果:{"name":"伊万"}。请问如何实现?我听说过注解,但不知道具体该用哪一个。提前感谢!

<<>> <