java - 如何为所有 POJO 类应用程序全局应用 @JsonIgnoreProperties(value = { "id" }) (jackson api)
问题描述
我有多个类,对于所有类,我不希望id字段成为我的输出 JSON 字符串(序列化)的一部分。假设我有 2 节课
@JsonIgnoreProperties(value = { "id" })
public final class Person {
private ObjectId id;
//........
}
@JsonIgnoreProperties(value = { "id" })
public final class Address{
private ObjectId id;
//........
}
现在我不想@JsonIgnoreProperties(value = { "id" })
在我所有的 1000 个类上手动指定。有什么全局方法可以让我将这部分应用到我的所有课程中吗?非常类似于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 类中添加任何其他内容?
解决方案
可能有更有效的解决方案,但您可能会使用排除不需要的字段但保留所有其他字段的默认编组器。
推荐阅读
- thymeleaf - 如何在百里香中使用 js 变量?
- asp.net-core - ASP.Net 核心身份 - 基本登录系统的过度杀伤力?
- spring - Spring Security中的白名单分段文件上传
- android - 如何返回从改造中检索到的值?
- websphere - 如何在 IBM 沃森助手中逃脱插槽?
- firebase - Unity FireBase 实时数据库获取特定密钥的所有子项
- ffmpeg - 有没有办法对由语言管理的多个音频和子流进行编码
- c# - 如何等待下一个串口数据与收集的字节一起附加?
- snowflake-cloud-data-platform - 如果无法触发多个 SQL 语句,如何使用 Snowflake 作为 ETL / ELT 选项?
- python - 如何将 obj 文件加载到 PyOpenGL