【发布时间】:2016-03-31 18:09:45
【问题描述】:
我有一个这样的类结构:
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();
}
}
但我不确定如何获取变量名。我会以正确的方式解决这个问题吗?如果是这样,我如何获得变量名?
【问题讨论】:
标签: java json serialization reflection jackson