【问题标题】:Can i parse to JSON with non-defining property automatically?我可以自动解析为具有非定义属性的 JSON 吗?
【发布时间】:2017-05-31 03:46:30
【问题描述】:

我目前正在使用 jackson 来序列化/反序列化我的对象:

public class Person {
  private String firstName;
  private String lastName;
  //getter & setter
}

反序列化后,Json 字符串如下所示:

{ 
  "person" : {
              "firstName": "john",
              "lastName" :  "doe"
              }
 }

现在我想要多一个字段,它是 fullname,它由 firstname 和 lastname 组合而成。所以 JSON 会是这样的

{ 
      "person" : {
                  "firstName": "john",
                  "lastName" :  "doe",
                  "fullName" : "john doe"
                  }
     }

我可以通过向 Person 类添加更多属性来做到这一点,但我不太喜欢它,Jackson 提供的任何注释是否可以自动支持这种情况? 我的 Person 类仍然是相同的(可能添加更多方法但不是属性)并且 Json 字符串之后包含一些额外的数据。

谢谢

【问题讨论】:

    标签: json jackson


    【解决方案1】:

    Jackson 将(默认情况下)在一个类中寻找 getter 来决定在 JSON 中序列化什么。您可以在 Person 上添加一个 getter 方法以在 JSON 中添加您想要的额外字段,而不管 Person 类中的字段是什么:

    public String getFullName() {
        return firstName + " " + lastName;
    }
    

    根据 Java Beans 约定,JSON 中的字段名称将显示为 "fullName"。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多