Имам 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 тяло за повикване към сървъра. Някои полета не са задължителни за заявката и дори ако я изпратя със стойности по подразбиране и null, API отговаря по различен начин (за съжаление промяната на API не е опция).
Така че основно трябва да изключа полета от сериализация, ако някое от тях е зададено на стойност по подразбиране. Например, ако полето valueOne
е null
, полученият json трябва да бъде:
{
"value2" : true,
"value3" : 2
}
Някаква идея как да направите това безболезнено усилие? Не бих искал да изграждам тялото на json ръчно.
Всяка помощ би била чудесна. Благодаря ви за съвета.