Jackson 是否有一种更简单的方法来使用 Annotation 将带有列表的 java 对象反序列化为元素?
而不是这个
{
[{id: 1, name: 'a'},{id: 2, name: 'b'}]
}
我要这个
{
"1": {name: 'a'},
"2": {name: 'b'}
}
Jackson 是否有一种更简单的方法来使用 Annotation 将带有列表的 java 对象反序列化为元素?
而不是这个
{
[{id: 1, name: 'a'},{id: 2, name: 'b'}]
}
我要这个
{
"1": {name: 'a'},
"2": {name: 'b'}
}
我使用自定义序列化程序来做到这一点
public static class CustomListSerializer extends StdSerializer<List> {
public CustomListSerializer() {
this(null);
}
public CustomListSerializer(Class<List> t) {
super(t);
}
@Override
public void serialize(
List list,
JsonGenerator generator,
SerializerProvider provider)
throws IOException, JsonProcessingException {
generator.writeStartObject();
int index = 1;
for (Object item : list) {
generator.writeObjectField(String.valueOf(index), item);
index++;
}
generator.writeEndObject();
}
}