|
用了阿里巴巴的Fastjson来做序列化和反序列化对象,由于我的原来json字符串都是用a、b、c...这样的字母来表示的,但是我序列化成对象,不能把对象定义成这种无意义的属性了。
这里用到了JSONField注解。
@JSONField放在字段上和get set方法上的区别
- 放在字段上, 同时指定序列化和反序列化操作
- 放在get上, 指定序列化时的操作
- 放在set上, 指定反序列化时的操作
我使用后,能正常序列化,但是不能正常反序列化,如下图:
json字符串:
{"a":"shenzhou","b":"京Q7UB02","c":110000,"d":"2019-01-08T17:07:04+08:00","e":120.775085,"f":30.13825,"g":77,"h":171,"i":0,"j":4951,"k":2,"l":0,"m":0,"n":4,"o":"0","p":1}
错误原因:
对象的属性没有遵循Java的驼峰命名法,除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
解决方案:
修改对象属性命名,重新生成get/set方法,代码如下:
对于正确的属性,反序列化成功,如下图:
|
上一篇:职场类电子书下一篇:【中华经典藏书系列】PFD格式还参杂了一些其他的书
|