我想使用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”的名称? 感谢
答案 0 :(得分:0)
我想,现在这是不可能的。但是您可以为每个属性创建两个单独的序列化程序。我知道,这有点解决方法,但它应该有效。