通过第三方服务,拿到响应体的data对象(拿到的时候对象是有值的)
通过JSON.parseObject方法,拿到的对象,值为null
通过查看对应的json字符串,发现命名不一样...
@JSONField @SeriealizedName注解是用来解析json字符串的时候,注解中的值解析成对应的字段
第三方服务的返回值命名方式为驼峰
而本地用来接受解析json字符串结果的对象(之前别人写的),命名用的下划线....
所以,对一段json字符串,用驼峰命名的,你用下划线去接受解析结果,能有值就有鬼了....
开始碰到这个问题的时候,以为和第三方接口返回值中,data字段存储了LinkedHashMap有关(详见我另一篇博客,有讲到为什么会返回LinkedHashMap),直到后面比较了json字符串的命名才发现原因。