以两种不同的方式序列化杰克逊领域

时间:2014-11-20 15:33:56

标签: 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文件中的字段,并使用productId作为主键在MongoDB中保存对象,这必须是被命名为_id。 由于我使用Jackson(fasterxml)来读取文件并写入数据库,我找不到这样做的方法,除非创建一个具有相同字段(或继承)的新类并将其填充一个一。基本上,我想找到一种方法在productId上放置2个@JsonProperty注释。

1 个答案:

答案 0 :(得分:0)

适用于两个字符串:

public class Pojo {
    @JsonProperty("_id")
    public String productId;
    public String name;

    @JsonProperty("productId")
    public void setProductId(String id) {
        productId = id;
    }

}