У меня есть структура класса, как так:Java Джексон сериализатору захватить имя переменной
public class Foo {
private Foo2 title;
private Foo2 message;
}
public class Foo2 {
private String value;
private String variable;
}
Когда я сериализации эти классы в JSON Я хочу, чтобы вывести следующий JSON:
{
"type": "title",
"value": "...",
"variable": "..."
},
{
"type": "message",
"value": "...",
"variable": "..."
}
Я сделал обычай класс сериализатора следующим образом:
public class FooSerializer extends JsonSerializer<Foo> {
@Override
public void serialize(Foo value,
JsonGenerator gen,
SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeStringField("type", /* get variable name */);
gen.writeStringField("value", value.getValue());
gen.writeStringField("variable", value.getVariable());
gen.writeEndObject();
}
}
Но я не уверен, как получить имя переменной. Правильно ли я это делаю? Если да, как мне получить имя переменной?