import com.alibaba.fastjson.JSONObject;2.当该类中某些属性值为空,json转化涉及序列化,会默认将没有值的属性舍去,这就是出现部分转化的原因,解决方案:
// 将对象中为空的字段 不忽略,value从null转换为“” JSONObject.toJSonString(object, SerializerFeature.PrettyFormat, SerializerFeature.WriteNullStringAsEmpty);3.被转化的类中的属性权限设置为了private私有,正确写法为几种情况:
该类的所有属性权限为public时,不需要再写get,set方法;
该类的属性权限不为public时,必须写对应的get,set方法;
这个坑我弄了近一小时才排查出来,是权限私有的坑,进一步找原因发现json转化的底层涉及到反射技术,对于public修饰的属性,可以通过json这个与被转化类毫无血缘关系的类访问到,对于非public修饰的,只能通过得到该类的get方法,再由get方法去访问到对应属性,所以这就能解释为啥转化后出现null的现象了。
最后吐槽一哈,这个坑我服了,愣是一步一步分析,试着一点一点改发现的,网上查了一些资料,就是我上边的1,2情况,这里简单的总结一哈他们的解决思路。



