java排除SerializedName字段,但仅当其未设置
我正在序列化一个对象以发出请求
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;
当我发送这些数据进行处理时,objectId
和groupId
需要是独占的。因此,如果我设置了objectId
,我必须从请求中删除groupId
,反之亦然
有没有一种简单的方法来注释这个问题,或者我应该为每个问题创建一个不同的类
# 1 楼答案
使用不同的类会使其更加明显,因为不同的结果(不同的属性)意味着不同的json对象
为了“简化”,您可以使用相同的java类,并为此提供自定义序列化程序