【问题标题】:Do I need getters on JSON binding with Yasson?我需要与 Yasson 绑定 JSON 的 getter 吗?
【发布时间】:2019-08-01 03:21:40
【问题描述】:

我试图避免在我的 POJO 上使用 getter 和 setter,但 Jersey 正在使用我的 getter 方法将我的 POJO 转换为 JSON。

我尝试使用 Yasson,但是当我尝试删除我的 getter 时,它只返回空白 JSON。

// the POJO
import javax.json.bind.annotation.JsonbProperty;
public final class LoginParameter {
  @JsonbProperty("endpoint")
  private String endPoint;
  @JsonbProperty("company-id")
  private String companyId;

  public LoginParameter() {
    endPoint = "";
    companyId = "";
  }

// trying to return JSON
final LoginParameter loginInfo = new LoginParameter();
        loginInfo.setCompanyId("test");
        loginInfo.setEndPoint("endpoint!");
return Response.status(Status.OK)
    .entity(jsonb.toJson(loginInfo))
    .type(MediaType.APPLICATION_JSON_TYPE).build();

【问题讨论】:

    标签: json jsonb-api yasson


    【解决方案1】:

    默认情况下,yasson 不会序列化私有成员。为了获取字段,要么将它们公开,要么将自定义 javax.json.bind.config.PropertyVisibilityStrategy 添加到运行时。

    【讨论】:

    • 谢谢!我最终只使用杰克逊
    猜你喜欢
    • 2019-10-11
    • 1970-01-01
    • 2014-09-16
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2019-11-30
    相关资源
    最近更新 更多