加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 杰克逊.将缺少的属性反序列化为空可选

发布时间:2020-12-15 03:07:50 所属栏目:Java 来源:网络整理
导读:假设我有一个这样的类: public static class Test { private OptionalString something; public OptionalString getSomething() { return something; } public void setSomething(OptionalString something) { this.something = something; } } 如果我反序
假设我有一个这样的类:
public static class Test {

        private Optional<String> something;

        public Optional<String> getSomething() {
            return something;
        }

        public void setSomething(Optional<String> something) {
            this.something = something;
        }

    }

如果我反序列化这个JSON,我得到一个空的可选:

{"something":null}

但是如果缺少属性(在这种情况下只是空JSON),我得到null而不是Optional.我当然可以自己初始化字段,但我认为最好有一个null和缺少属性的机制.那么有没有办法让jackson反序列化缺少的属性为空可选?

解决方法

可选并不是真正意味着用作字段,而是更多地用作返回值.为什么没有:
public static class Test {
  private String something;
  public Optional<String> getSomething() {
    return Optional.ofNullable(something);
  }
  public void setSomething(String something) {
    this.something = something;
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读