我有一个Model对象组
public class Group {
String title;
List members;
String createdBy;
}
我正在使用Jackson来序列化这个对象.而不是序列化列表“成员”中的整个User对象,我想序列化user.getTitle()字段.
基本上我想要HashMap就像
{
"title" : "sometitle"
"members" : [user1.getTitle(), user2.getTitle()]
}
我为此编写了一个自定义序列化器
public class GroupSerializer extends JsonSerializer {
@Override
public void serialize(Group value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
if(value != null) {
gen.writeStartObject();
gen.writeStringField("title", value.getTitle());
gen.writeStringField("createdBy", value.getCreatedBy());
gen.writeFieldName("members");
gen.writeStartArray();
for(User user : value.getMembers()) {
gen.writeString(user.getEmail());
}
gen.writeEndArray();
gen.writeEndObject()
}
}
}
但它不起作用.如何仅序列化List的字段而不是整个用户对象?