我正在使用Retrofit(2.0.0-beta)的新测试版,我使用Retrofit-GSON转换器来创建POJO。
假设我有以下课程:
public class Unit {
@SerializedName("capacity")
@Expose
private String capacity;
@SerializedName("content")
@Expose
private String content;
private String percentage;
// Getters + Setters
}
现在当我使用改装调用来获取模型时,它会毫无错误地进行解析,并且我得到一个List<Units>
,其中设置了内容和容量,但百分比为null
。
我想要的是在构造对象后将percentage
的值设置为capacity / content
,这样我就不必手动执行。
将GSON与Retrofit结合使用时可以做到这一点吗?
答案 0 :(得分:2)
为什么不在字段百分比的getter下添加容量/内容的逻辑?
@SerializedName("capacity")
@Expose
private float capacity;
@SerializedName("content")
@Expose
private float content;
private float percentage;
public float getPercentage(){
return capacity / content;
}
另外,如果您注意到,请将变量类型和内容仅作为浮点数提供,JSON解析器将注意将值解析为变量的预先声明的类型。