使用 Jackson 序列化时的前缀字段

Prefix field when serializing with Jackson

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

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

示例 class 将是...

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

我希望它像这样被晒黑:

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

尝试 JsonGetter 注释:

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

Jackson annotations