使用Fastjson生成Json字符串少字段属性(数据丢失)

拜拜、爱过 提交于 2019-11-27 23:42:51

最后是控制台打印生成的结果如下:
FastJson生成字符串是:{"id":"2","name":"节点1","open":true}
Gson生成字符串是:{"id":"2","pId":"1","name":"节点1","open":true}

 

 

用FastJson就是少了个属性pId没有被转化出来,用Gson和其他的却可以,而我的Node对象只是个普通的JAVA类而已,麻烦你看一下,谢谢!

 

答案:1)你的get,set方法估计多半是自动生成的,Fastjson在生成的时候去判断pId有没有对应的get方法是区分了大小写的,所以找不到对应的get方法(getPId())。

2)如果页面上也需要使用node对象,就必须使用自动生成的get、set方法。与1)相互冲突,最根本的解决办法是,不适用第一个单词只有一个小写字母的属性名,换一个属性名字paId。

fastjson生成json时Null属性不显示

输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性

也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)

转载于:https://www.cnblogs.com/JAYIT/p/7991020.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!