Java 以两种不同的方式序列化Jackson字段
我正在使用Jackson进行POJO序列化/反序列化。 以下是一个POJO示例:Java 以两种不同的方式序列化Jackson字段,java,json,mongodb,serialization,jackson,Java,Json,Mongodb,Serialization,Jackson,我正在使用Jackson进行POJO序列化/反序列化。 以下是一个POJO示例: public class Pojo { public String productId; public String name; } 我必须阅读此JSON中的字段productId: {"productId":"1","name":"exemple"} 但也包括: {"_id":"1","name":"exemple"} 简而言之,我想使用同一个对象读取某个地方找到的JSON文件中的字段,并在
public class Pojo {
public String productId;
public String name;
}
我必须阅读此JSON中的字段productId
:
{"productId":"1","name":"exemple"}
但也包括:
{"_id":"1","name":"exemple"}
简而言之,我想使用同一个对象读取某个地方找到的JSON文件中的字段,并在MongoDB中将该对象保存为该字段,使用productId
作为主键,主键必须命名为\u id
。
由于我使用Jackson(fasterxml)来读取文件和写入数据库,我找不到这样做的方法,除非创建一个具有相同字段(或继承)的新类并逐个填充它们。基本上,我想找到一种方法,在
productId
上放置2个@JsonProperty注释,这两个字符串都适用:
public class Pojo {
@JsonProperty("_id")
public String productId;
public String name;
@JsonProperty("productId")
public void setProductId(String id) {
productId = id;
}
}
可能重复的