Jackson @JsonInclude(Include.ALWAYS)适合所有孩子

时间:2018-06-15 10:14:19

标签: java json jackson

我的遗留应用程序中有一个复杂的多层继承/机箱类结构(大多数类的深度超过3层)。

现在,我们希望使用Jackson将这些作为JSON流式传输到前端。

当某些字段一起丢失时,我们(传统)前端客户端会爆炸。因此,我们必须将value1 Latest: 1 value2 Latest: 4 value1 Latest: 2 value2 Latest: 4 value1 Latest: 2 value2 Latest: 5 value1 Latest: 3 value2 Latest: 5 作为JSON的一部分发送。

我熟悉property=null(例如,参见https://wilddiary.com/jackson-ignore-null-and-empty-fields/),这对个别课程非常有用。

问题是我需要为每个小子类单独包含这个注释,这很乏味。

问题是:是否有可能以某种方式在主父类上设置此(或任何其他)标志,以便它传播到其所有子节点?

2 个答案:

答案 0 :(得分:0)

您可以在ObjectMapper中注册它:

mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);

答案 1 :(得分:-1)

JsonInclude(Include.ALWAYS)


该值指示始终包含该属性,而与该属性的值无关。