Как сериализовать/десериализовать список объектов, как показано ниже, с помощью Джексона?
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
Возможные классы элементов: integer, float, string, enum и 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"}
]
Or
[
{type:"java.lang.Integer",value: 1},
{type:"java.lang.Float",value: 1.23},
...
]
Может быть, мне нужен MixIn, чтобы настроить это самостоятельно?