MyClass如下:
@Getter
class MyClass
{
private final DateTime start;
private final DateTime end;
}
我希望List用Jackson序列化为JSON,但是格式不符合预期。我目前正在研究Jackson文档,但对于初读而言有些棘手。
现在,JSON输出为:
[ {
"end" : "2012-02-16T13:59:59.000+01:00",
"start" : "2012-02-16T13:35:42.000+01:00"
}, {
"end" : "2012-02-16T16:59:59.000+01:00",
"start" : "2012-02-16T16:00:00.000+01:00"
} ]
但我希望它是:
[ [ "2012-02-16T13:59:59.000+01:00", "2012-02-16T13:35:42.000+01:00"],
[ "2012-02-16T16:59:59.000+01:00", "2012-02-16T16:00:00.000+01:00" ] ]
因此,请勿打印成员名称,而将内部{}替换为[]。
最佳答案
@JsonValue
注释是您需要的:http://jackson.codehaus.org/1.0.1/javadoc/org/codehaus/jackson/annotate/JsonValue.html
class MyClass {
...
@JsonValue
private DateTime[] toValue() {
return new DateTime[] {start, end};
}
}
这告诉Jackson序列化为JSON时应如何处理
MyClass
。关于java - 使用Jackson的List <MyClass>的自定义JSON序列化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9413278/