【问题标题】:Remove Optional from JSON response if is not present如果不存在,则从 JSON 响应中删除 Optional
【发布时间】:2018-09-06 10:31:42
【问题描述】:

我正在使用 Spring Boot 构建我的简单休息服务器。我的问题如下:

在我必须通过 API 获取的对象之一中,有一个 Optional 字段:

public class MyObject {
.....

public String description;

public Optional<String> description2;

    public MyObject (Object obj) {

        description = obj.getDescription();

        description2= Optional.ofNullable(obj.getDescription2());
    }
......
}

当 obj.getDescription2() 为 null 时,并以 JSON 格式检索它:

{

    "description": "Lorem ipsum",
    "description2": {
        "present": false
    }

}

如果 description2 不存在,我必须怎么做才能从响应中删除它?

谢谢

【问题讨论】:

  • 为什么需要持有可选会员?为什么没有字符串并将其注释为@Nullable
  • 因为我在创建obj的时候可以省略description2
  • 我在 Map 中有 obj,我没有在 DB 上使用持久化

标签: json spring-boot


【解决方案1】:

您可以使用@JsonValue@JsonCreator 来根据需要输出数据。例如:

@JsonValue
public String getDescription2() {
    return desription2.orElse(null);
}

【讨论】:

  • nop... 因为我有两个类,一个类用于保存在 HashMap 中,另一个用于获取请求/响应 API。在最后一堂课中,我有可选的描述2,在第一堂课中没有
猜你喜欢
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
相关资源
最近更新 更多