仅当未设置SerializedName字段时才排除

时间:2018-10-23 15:16:12

标签: java serialization gson

我有一个要序列化以发出请求的对象。

private static final String JSON_REQUEST_ID = "requestId";
private static final String JSON_OBJECT_ID = "objectId";
private static final String JSON_GROUP_ID = "groupID";

@SerializedName(JSON_REQUEST_ID)
public String requestId;

@SerializedName(JSON_OBJECT_ID)
public String objectId;

@SerializedName(JSON_GROUP_ID)
public String groupId;

当我发送此数据进行处理时,objectIdgroupId必须互斥。因此,如果我设置了objectId,则必须从请求中删除groupId,反之亦然。

是否有一种简单的方法可以对此进行注释?还是应该为每个类创建一个不同的类?

1 个答案:

答案 0 :(得分:1)

使用不同的类会使情况更加明显,因为不同的结果(不同的属性)意味着不同的json对象。

为方便起见,您可以使用相同的java类并为此提供自定义序列化程序。