【发布时间】:2017-04-28 07:40:01
【问题描述】:
我的 SegmentCreateRequest bean 类:
public class SegmentCreateRequest {
@SerializedName("name")
private String segmentName;
private SegmentSource segmentSource;
public String getSegmentName() {
return segmentName;
}
public void setSegmentName(String segmentName) {
this.segmentName = segmentName;
}
public SegmentSource getSegmentSource() {
return segmentSource;
}
public void setSegmentSource(SegmentSource segmentSource) {
this.segmentSource = segmentSource;
}
public enum SegmentSource {
@SerializedName("followed") FOLLOWED,
@SerializedName("impressed") IMPRESSED,
@SerializedName("engaged") ENGAGED,
@SerializedName("tailored") TAILORED;
@SerializedName("user_ids")
private List<String> userIds;
SegmentSource(){
this.userIds = Lists.newArrayList();
}
public void setUserIds(List<String> userIds) {
this.userIds = userIds;
}
public List<String> getUserIds() {
return this.userIds;
}
public SegmentSource userIds(List<String> userIds) {
this.userIds = userIds;
return this;
}
}
}
segmentSource 字段名称应根据枚举值更改。
我期待此类的对象序列化返回如下内容:
{
"name":"segment101",
"followed":{"user_ids":["1234567890"]}
}
但是,它返回:
{"name":"skumar-3020-seg","segmentSource":"followed"}
使用 Google Gson 进行序列化/反序列化。
如何设置我的 bean 以实现所需的序列化?
【问题讨论】:
-
感谢采纳;很高兴我的回答对您有所帮助。
标签: java serialization enums gson