ly568048459
ly568048459
2016-02-29 07:10

Android Gson解析boolean错误

  • boolean
  • android
  • gson

今天突然出现了这种怪异的现象,我使用gson来解析服务器返回的json数据,json中有个字段isSuccess,是boolean类型,今天在请求的时候始终得不到正确的回应,一调试才知道isSuccess为false,但是返回的json中isSuccess是为true的,这种情况也不是每次都会发生,有时候又是正常的,服务器返回的json也是一样的,但是就会出现isSuccess会被解析成false的情况,有人遇到过这种情况吗?

发现了新的情况,我手动截取json中isSuccess字段,然后使用Boolean.valueOf(String)来转换,但是怪异的情况出现了,String参数为true,转换出来的value确实false,彻底凌乱了

我换了个方法,不用Boolean.valueOf(String)了,自己判断字符串来转换为true或者false,倒是不会出现这个问题了,不过上述问题留在这,等待大神来解答

找到问题所在了,我这里有个功能需要用到反射,我用反射取了Boolean.value,因为是private final修饰符,所以用了函数Field.setAccessible(true),然后通过反射的方法给Boolean.value设置了值,结果后面Boolean无论怎么赋值都是前面设置的那个值了,所以在反射给Boolean.value设置了值后,要调用Field.setAccessible(false)就可以了,次奥,恼火啊

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答

为你推荐