自定义序列化器和反序列化器在序列化/反序列化Jackson期间连接两个字段

时间:2016-07-06 18:53:49

标签: java json serialization jackson

我有一个班级:

public class Item {
    private String firstName;
    private String lastName;
    private int age;
} 

当我将其转换为JSON时,我想组合firstName和lastName字段。如下所示:

ObjectMapper objMapper = createMapper();
Item item = new Item("Bob", "Smith", 190);
String json = objMapper.writeValueAsString(item);

但我希望json看起来如下:

{
    "Name": "Bob Smith",
    "age" : "190"
}

而不是:

{
    "firstName": "Bob",
    "lastName" : "Smith",
    "age" : "190"
}

同样聪明,我想反过来说。所以如果String anotherString是,

{
    "Name": "Jon Guy",
    "age" : "20"
}

objMapper.readValue(anotherString, Item);

应生成一个名为= Jon,lastName = Guy,age = 20

的Item

序列化期间的总结: 删除firstName和lastName,添加名称。 在反序列化期间: 删除名称,将firstName和lastName还原到对象。

我已经听过一些解决Item类的解决方案。但是,我想避免这样做。相反,我希望通过自定义序列化器/反序列化器添加所有代码。

0 个答案:

没有答案