繁体   English   中英

自定义JSON序列化列表 <MyClass> 与杰克逊

[英]Custom JSON serialization for List<MyClass> with Jackson

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 : @JsonValue

class MyClass {
    ...
    @JsonValue
    private DateTime[] toValue() {
        return new DateTime[] {start, end};
    }
}

这告诉杰克逊在序列化为JSON时应如何对待MyClass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM