本文主要是介绍Bug FastJson解析下划线字段问题 _id,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在使用fastjson 过程中出现无法解析的字段,在查阅资料和源码之后,记录如下:
——希望再次遇到此问题的人,不用翻遍Google!!!
通常情况下,我们使用fastjson 解析方法如下:
1.Object
T objectT = (T) JSON.parseObject(valueJsonObject.toString(), clazz);
T 是泛型,clazz 是object.class (此方法是本人封装过的,如有不会的自行查阅fastjson 解析对象方法)
2.Array
List<T> arrayT = (List<T>) JSON.parseArray(valuesJsonArray.toString(), clazz);
T 是泛型,clazz 是object.class (此方法是本人封装过的,如有不会的自行查阅fastjson 解析数组方法)
然而,对于通常字段和写法来说,这些都是没有问题的,但是对于习惯于C++ 写法的程序员习惯于_id之类的字段,则会出现无法解析的问题
经查阅资料和翻阅源码,解决方案如下:
在Object之中,
private String _id; @JSONField(name="_id") public String getObjectId() {return _id; } @JSONField(name="_id") public void setObjectId(String _id) {this._id = _id; }
针对下划线开始的字段_id,在set 与 get 方法上添加@JSONField(name="_id") 即可解决实际问题
参考原文:http://blog.csdn.net/kisssun0608/article/details/48289535
这篇关于Bug FastJson解析下划线字段问题 _id的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!