最后是控制台打印生成的结果以下:
FastJson生成字符串是:{"id":"2","name":"节点1","open":true}
Gson生成字符串是:{"id":"2","pId":"1","name":"节点1","open":true}node
用FastJson就是少了个属性pId没有被转化出来,用Gson和其余的却能够,而个人Node对象只是个普通的JAVA类而已,麻烦你看一下,谢谢!json
答案:1)你的get,set方法估计多半是自动生成的,Fastjson在生成的时候去判断pId有没有对应的get方法是区分了大小写的,因此找不到对应的get方法(getPId())。post
2)若是页面上也须要使用node对象,就必须使用自动生成的get、set方法。与1)相互冲突,最根本的解决办法是,不适用第一个单词只有一个小写字母的属性名,换一个属性名字paId。spa
输出结果能够看出,null对应的key已经被过滤掉;这明显不是咱们想要的结果,这时咱们就须要用到fastjson的SerializerFeature序列化属性对象
也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)字符串