[英]Deserialize date with PagedResources/embedded object. Jackson. Spring
[英]Jackson. Deserialize missing properties as empty Optional<T>
假设我有一个这样的课程:
public static class Test {
private Optional<String> something;
public Optional<String> getSomething() {
return something;
}
public void setSomething(Optional<String> something) {
this.something = something;
}
}
如果我反序列化这个 JSON,我会得到一个空的 Optional:
{"something":null}
但是如果缺少属性(在这种情况下只是空的 JSON),我会得到 null 而不是Optional<T>
。 我当然可以自己初始化字段,但我认为最好有一种机制来处理null
和缺失的属性。 那么有没有办法让杰克逊将缺失的属性反序列化为空的Optional<T>
?
Optional 并不是真的要用作字段,而是更多地用作返回值。 为什么没有:
public static class Test {
private String something;
public Optional<String> getSomething() {
return Optional.ofNullable(something);
}
public void setSomething(String something) {
this.something = something;
}
}
对于没有 getter/setter 的解决方案,请确保像这样初始化something
:
public Optional<String> something = Optional.empty();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.