杰克逊有一种更简单的方法可以使用Annotation将带有列表的java对象反序列化为元素吗?
而不是这个
{
[{id: 1, name: 'a'},{id: 2, name: 'b'}]
}
我想要这个
{
"1": {name: 'a'},
"2": {name: 'b'}
}
答案 0 :(得分:1)
我使用自定义序列化程序来执行此操作
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();
}
}