0

我有一个EntityId作为数据库标识符的简单包装类服务器的类。该类已经具有转换为字符串表示和从字符串表示转换的方法。我想EntityId在我的 JSON Web 资源中使用这个字符串表示。

在 Jackson 中为这种简单类型实现自定义序列化最简单的是什么?我知道我可以编写自定义序列化器和反序列化器,但我想知道是否有更简单的解决方案。

谢谢!

4

1 回答 1

1

如果有将类型序列化为 String 的方法,则可以@JsonValue像这样添加注释:

public class MyClass {
  @JsonValue public String toString() { return "xxx"; }
}

相反,如果有一个单参数构造函数采用String, intor long(或杰克逊可以从 JSON 标量类型转换为的某种 Java 类型),您可以@JsonCreator在该构造函数旁边添加注释:

public class MyClass {
  @JsonCreator
  public MyClass(OtherPojo value) { // or use 'Map<String,Object>', extract data
      // ... 
  }
}
于 2012-05-23T05:17:52.320 回答