改造响应,自定义响应字段

时间:2017-10-05 07:44:45

标签: android json api gson retrofit

我正在使用Retrofit和GSON进行API调用,

问题是我的模型中有一些字段在响应中不存在,我需要手动设置它们,例如:

我的模型中有:fieldOne,fieldTow,fieldThree

所以fieldOne,fieldTow进入响应,

但是fieldThree我需要手动设置它,它取决于fieldOne,fieldTow

if (fieldOne!= null && fieldTow!= null) {
fieldThree = true
}

我需要在创建该对象并解析它时这样做

你可以给我一些帮助吗

2 个答案:

答案 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;
}