Java 如何使用Jackson定义可选的json字段

Java 如何使用Jackson定义可选的json字段,java,json,jackson,Java,Json,Jackson,我有一个带有一个可选字段的对象,但找不到适当的注释对其进行建模。你知道什么是处理Jackson的正确方法吗?在Jackson中,你无法区分可选字段和非可选字段。只需声明POJO中的任何字段。如果JSON结构中没有字段,那么Jackson将不会调用setter。你可以记录是否有二传手在POJO中被打了旗子。晚会迟到 通过Spring HttpMessageConverter 4.3.6使用Jackson 2.8.6,我必须将setter参数更改为unwrapped类型,如下所示: class-Fo

我有一个带有一个可选字段的对象,但找不到适当的注释对其进行建模。你知道什么是处理Jackson的正确方法吗?

在Jackson中,你无法区分可选字段和非可选字段。只需声明POJO中的任何字段。如果JSON结构中没有字段,那么Jackson将不会调用setter。你可以记录是否有二传手在POJO中被打了旗子。

晚会迟到

通过Spring HttpMessageConverter 4.3.6使用Jackson 2.8.6,我必须将setter参数更改为unwrapped类型,如下所示:

class-Foo{
私人自选酒吧;
public void setBar(Bar){//NOT Optional,这给了我Optional.empty()
this.bar=可选的.of(bar);
}
//getter不需要更改
}

默认情况下,所有字段都是可选的。你看到了什么问题?不同的可选;我现在就看到了:这不是使用Optional的正确方法,它应该用作方法返回类型,而不是用于成员字段的类型。