使用jackson自定义字段序列化

时间:2013-05-15 05:15:33

标签: java jackson

我想使用jackson以自定义方式序列化我班级的几个字段。所以我为此编写了一个自定义序列化程序。但我的问题是我无法在自定义序列化程序中获取该字段的名称。我的POJO课程是

public static class Foo {
public String foo = "a";
@JsonSerialize(using = CustomSerializer.class)
public String bar = "b";
@JsonSerialize(using = CustomSerializer.class)
public String foobar = "c";
}  

我的自定义序列化程序类是

public class CustomSerializer extends JsonSerializer<String>
{
    @Override
    public void serialize(String t, JsonGenerator jg, SerializerProvider sp) throws         IOException, JsonProcessingException
    {
        if(field.name.equals("a"))
            //do this
        else if(filed.name.equals("b")) 
            //do that
    }

 }    

这里我想得到正在序列化的字段的名称。 如何在自定义序列化程序中获取字段“a”和“b”的名称? 感谢

1 个答案:

答案 0 :(得分:0)

我想,现在这是不可能的。但是您可以为每个属性创建两个单独的序列化程序。我知道,这有点解决方法,但它应该有效。