我有多个类,对于所有这些类,我都不希望 id 字段成为我的输出JSON字符串(序列化)的一部分。假设我有2节课
@JsonIgnoreProperties(value = { "id" })
public final class Person {
private ObjectId id;
//........
}
@JsonIgnoreProperties(value = { "id" })
public final class Address{
private ObjectId id;
//........
}
现在,我不想在我的所有1000个班级上手动指定@JsonIgnoreProperties(value = { "id" })
。有什么全球性的方法可以使我将这一部分应用于我所有的课程吗?类似于下面方法中的mapper.setSerializationInclusion(Include.NON_NULL)
吗?
public String serialize(T dataObject) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
String result = mapper.writeValueAsString(dataObject);
return result;
}
我尝试的一种方法是制作一个超类,并在该类之上应用@JsonIgnoreProperties(有效)。但是我仍然必须在我不喜欢的每个子类中编写“扩展”。有什么方法可以应用此设置而无需在pojo类中添加任何其他内容?
答案 0 :(得分:0)
可能有一种更有效的解决方案,但是您可以使用默认的编组器覆盖该编组器,该默认编组器不包括不需要的字段,但保留所有其他字段。