从现有的Jackson序列化领域中衍生出一个新领域?

我在“位置”类中有一个字段“州”。

public class Location {
   private String state = "TX";

   // getters / setters
}

在将Jackson序列化为JSON时,我想添加一个与'state'字段具有相同值的字段,以便与向后兼容的旧客户端保留'st8'字段。 JSON如下所示:

{
  "state": "TX","st8": "TX"
}

我已经研究了@JsonAppend批注,但似乎需要一些奇怪的操作才能使其正常工作,我对此感到很不舒服:

Location bean = new Location("TX")
ObjectWriter writer = mapper.writerFor(Location.class).withAttribute("st8","TX");
String jsonString = writer.writeValueAsString(bean);

如果我被迫采用这种方法,那么我将如何在API中使用它,因为它仅处理POJO的/ DTO,并且序列化都是神奇地处理的?

ccwysxbf 回答:从现有的Jackson序列化领域中衍生出一个新领域?

您可以为此字段创建额外的getter,a会自动对其进行序列化:

Jackson
本文链接:https://www.f2er.com/3141816.html

大家都在问