fastjson的key为非字符串的处理

fastjson己然成为最为流行的Json处理框架,今天在处理json的时候发现默认以long型为key时解析会失败,网上搜索无果但最终还是发现了解决方法

fastJson的toJSONString

toJSONString有多个重载,默认一个参数的是没有做特殊处理的,也就是说如果key中存在非字符串会解析失败.

处理办法

SerializerFeature这个枚举类有很多选项,从中我们可以找到把非字符串转成字符串的操作. String resStr = JSON.toJSONString(ret, SerializerFeature.WriteNonStringKeyAsString);

感悟

总感觉自己能力不足看不懂框架的源码所以不去看,这样技术进步会很慢.遇到问题可以debug跟进源码看一看是什么原因.对解决问题帮助很大.

署名 - 非商业性使用 - 禁止演绎 4.0