日常
总算是把版本2.0写完了,晚上通一通接口,看看还有哪些小bug。
今天说说我下午发现的关于java对象的json序列号的一个问题,大概就是在使用jackson的包序列化对象的时候,有两个我后来添加的成员怎么也无法被序列化!总是缺少那两个属性! ## 问题原因
丝毫没有办法的我,查了一通资料,竟然发现没有和我类似经历的人!只好自己找问题所在了…… 其实实际问题是:我要序列化的那个对象,因为我新增了属性,而新增的属性我没有写getter,所以private是无法被jackson的包访问到的!
解决
写了getter之后,问题顺利解决
附:jackson包使用小demo+单例模式
1 | import com.fasterxml.jackson.core.JsonProcessingException; |
总结
结果如图,emmmmmm。
- 这里可以看到转换成json字符串就比较单一
- 转换成java对象,仔细看小框:对于我给出的class文件,它会正确的实例化这个类,而我类里的Object对象由于没有特定的类,所以默认键值对是使用的LinkedHashMap,而键值对之间的数组使用的是ArrayList
PS:2018年快乐! 关于Jackson注解的内容参考大佬的文章 Jackson常用注解介绍