首页 > 解决方案 > 如果不存在,则从 JSON 响应中删除 Optional

问题描述

我正在使用 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() 为空时,并以 JSON 格式检索它,我得到:

{

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

}

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

谢谢

标签: jsonspring-boot

解决方案


您可以使用 @JsonValueand @JsonCreatoron 方法来根据需要输出数据。例如:

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

推荐阅读