关于使用fastjson序列化过程中遇到的问题
1.将list转jsonString过程中,属性为null会导致对应key丢失,但是可以设置SerializerFeature.WriteMapNullValue解决
JSON.toJSONString(list, SerializerFeature.WriteMapNullValue)
2.使用JSON.parseArray(),属性为null会导致对应key丢失,即使使用JSON.toJSONString(list, SerializerFeature.WriteMapNullValue) 得到对应拥有对应key的json字符串,最后转成jsonArray还是会对视value为null的key
测试代码
控制台输出:
plusProjects = [PlusProject(uid=null, name=hello, startdate=null, finishdate=null, lastsaved=null, calendaruid=null, calendars=null, version=null, state=null)] jsonString = [{"calendars":null,"calendaruid":null,"finishdate":null,"lastsaved":null,"name":"hello","startdate":null,"state":null,"uid":null,"version":null}] jsonArray = [{"name":"hello"}]
最后解决办法:
使用Jackson的read.value(jsonStr,ArrayList.class)不会出现丢失value为null的key