fastjson己然成为最为流行的Json处理框架,今天在处理json的时候发现默认以long型为key时解析会失败,网上搜索无果但最终还是发现了解决方法
fastJson的toJSONString
toJSONString有多个重载,默认一个参数的是没有做特殊处理的,也就是说如果key中存在非字符串会解析失败.
处理办法
SerializerFeature这个枚举类有很多选项,从中我们可以找到把非字符串转成字符串的操作.
String resStr = JSON.toJSONString(ret, SerializerFeature.WriteNonStringKeyAsString);
感悟
总感觉自己能力不足看不懂框架的源码所以不去看,这样技术进步会很慢.遇到问题可以debug跟进源码看一看是什么原因.对解决问题帮助很大.