首页 > 解决方案 > 使用 Jackson 序列化时的前缀字段

问题描述

每当对象被序列化时,我想在一个字段前面加上一个字符串值。有没有办法用杰克逊做到这一点?我想在 id 前面加上类名。

public class CarClass {
  public Long id;
  public String name;
  ......
}

示例类将是...

CarClass car1 = new CarClass (1,"First car");

我希望它像这样被海化:

{ 
  "id": "carClass-1",
  "name": "First car"
}

标签: javajsonjackson

解决方案


尝试 JsonGetter 注释:

public class CarClass {
  public Long id;
  public String name;
  
  @JsonGetter("id")
  public String getPrefixedId() {
    return "carClass-" + id;
  }
}

杰克逊注解


推荐阅读