由于业务需求增加,我在json实体类中添加了一个boolean字段,然后用android studio自带的set,get工具生成对应的set,get方法(我们一般都认为gsonformat和AS自带的set,get应该没有任何区别),下面是用AS自带的set,get生成的方法:
private boolean IsPass;
public boolean isPass() {
return IsPass;
}
public void setPass(boolean pass) {
IsPass =pass;
}
但是之后在进行网络请求的时候,得到的数据明明是true,然后实体类给的数据永远是false,捣鼓了半个小时,真的是百思不得其解,难道是系统bug?
后来,我直接把整个实体类中的字段都删掉了,然后用gsonformat生成,发现生成的set,get方法居然不同(傻眼了),然后也解析成功了。
解析生成的方法如下:
private boolean IsPass;
public boolean isIsPass() {
return IsPass;
}
public void setIsPass(boolean IsPass) {
this.IsPass =IsPass;
}
其实AS自带的get,set命名更加好,但是某些方法的生成却是不符合gson的set,get规范的,所以大家尽量用gsonfromat去生成set,get方法,以免带来一些不必要的问题。
网友评论