【发布时间】:2014-07-28 05:52:08
【问题描述】:
我有一个类似于以下的 POJO:
public class MyGsonPojo {
@Expose
@SerializedName("value1")
private String valueOne;
@Expose
@SerializedName("value2")
private boolean valueTwo;
@Expose
@SerializedName("value3")
private int valueThree;
// Getters and other stuff here
}
问题是这个对象必须被序列化成一个 json 体才能调用 到服务器。某些字段对于请求是可选的,如果我什至使用默认值和空值发送它,API 会做出不同的响应(不幸的是,更改 api 不是一种选择)。
所以基本上我需要从序列化中排除任何字段,如果它们中的任何一个设置为默认值。例如,如果字段 valueOne 是 null,则生成的 json 应该是:
{
"value2" : true,
"value3" : 2
}
知道如何轻松完成这项工作吗?我不想手动构建 json 主体。
任何帮助都会很棒。谢谢你的建议。
【问题讨论】:
标签: java android json serialization gson