У меня есть 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 вручную.
Любая помощь будет здорово. Спасибо за совет.