Explore

too young, too simple...

Jackson自定义序列化输出

例如:学生类
public class Student{

private List<Boy> boys;
private List<Girl> girls;
//getter,setter 方法略

}
引用的对象定义:
public class Girl{

private Integer age;
private Double weight;
//getter,setter方法略

}
如果某些属性(如 age,weight 不需要输出),那么需要定义一个MixIn对象:
@JsonIgnoreProperties({"age", "weight"})
public class MixInGirl extends Girl{
}
通过注解忽略这两个字段。然后在输出时进行处理:
Student result = new Student();
//... 取值
ObjectMapper mapper = new ObjectMapper();

    try {            
        mapper.addMixIn(Girl.class, MixInGirl.class);
        System.out.println(mapper.writeValueAsString(result));
    } catch (JsonProcessingException e) {
        e.printStackTrace();
    }

这样得到的序列化结果中就不会包含 age 和 weight 字段了。

标签: 无


添加新评论