我正在使用Retrofit和GSON进行API调用,
问题是我的模型中有一些字段在响应中不存在,我需要手动设置它们,例如:
我的模型中有:fieldOne,fieldTow,fieldThree
所以fieldOne,fieldTow进入响应,
但是fieldThree我需要手动设置它,它取决于fieldOne,fieldTow
前
if (fieldOne!= null && fieldTow!= null) {
fieldThree = true
}
我需要在创建该对象并解析它时这样做
你可以给我一些帮助吗
答案 0 :(得分:0)
您可以使用jsonObject.has
检查密钥是否存在,如下所示
JSONObject jsonObject=new JSONObject();
if(jsonObject.has("reviewer_details")){
//do process with data
}
希望这会有所帮助
答案 1 :(得分:0)
我认为有两种方法可以实现它。
1(最硬)。编写自己的JSON类型适配器实现,并执行@Saneesh所说的操作。 See tutorial
2(最简单的)。在POJO对象的getter方法中执行此逻辑。
public boolean isFieldThree() {
if (fieldthree != null) return fieldThree;
//otherwise
return fieldOne!= null && fieldTow!= null;
}