【发布时间】:2017-05-29 17:31:01
【问题描述】:
我有一个模型对象组
public class Group {
String title;
List<User> members;
String createdBy;
}
我正在使用 Jackson 来序列化这个 Object。而不是序列化列表“成员”中的整个用户对象,我只想序列化 user.getTitle() 字段。
基本上我希望 HashMap 类似于
{
"title" : "sometitle"
"members" : [user1.getTitle(), user2.getTitle()]
}
我为此编写了一个自定义序列化程序
public class GroupSerializer extends JsonSerializer<Circle> {
@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 的一个字段而不是整个 User Object?
【问题讨论】:
标签: java android serialization jackson