【发布时间】:2016-02-02 10:34:59
【问题描述】:
如何使用 Jackson 序列化/反序列化如下对象列表?
List<Object> items = new ArrayList<Object>();
items.add(1); //integer
items.add(1.23); //float
items.add("abc"); //string
items.add(Color.RED); //enum
items.add(new Date()); //date
可能的项目类别是整数、浮点数、字符串、枚举和日期。项目的基类是对象,因此没有机会指定@JsonTypeInfo。
所需的输出应该类似于@JsonTypeInfo 的输出,例如,
[
{"java.lang.Integer": 1},
{"java.lang.Float": 1.23},
{"java.lang.String": "abc"},
{"mypackage.Color": "RED"},
{"java.util.Date","2000-01-01T00:00:00+0000"}
]
或者
[
{type:"java.lang.Integer",value: 1},
{type:"java.lang.Float",value: 1.23},
...
]
也许我需要一个 MixIn 来自己定制这个?
【问题讨论】:
-
请在您的帖子中包含所需的序列化输出。