0

我想使用杰克逊以自定义方式序列化我班级的几个字段。所以我为此编写了一个自定义序列化程序。但我的问题是我无法在自定义序列化程序中获取字段的名称。我的 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”的名称?谢谢

4

1 回答 1

0

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

于 2013-05-15T13:54:27.640 回答