我有一个正在序列化以发出请求的对象。
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
,反之亦然。
是否有一种简单的方法来注释它,或者我应该为每个类创建一个不同的类?
最佳答案
使用不同的类会使其更加明显,因为不同的结果(不同的属性)意味着不同的 json 对象。
为了“简化”,您可以使用相同的 java 类并为此提供自定义序列化器。
关于java - 仅当未设置时才排除 SerializedName 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52952517/