在一次开发过程中,需要给前端传递几个key值相同的对象,于是在json化之后,最后
一行出现了{“key”,"$ref"}这样的数据,这是因为当json数据中出现重复时,那么就会被替换成 $ref,循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。
下面介绍一些引用的描述
- “$ref”:"…" 上一级
- “$ref”:"@" 当前对象,也就是自引用
- “ r e f " : " ref":" ref":"” 根对象
- “ r e f " : " ref":" ref":".children.0” 基于路径的引用,相当于 root.getChildren().get(0)
要想解决这个问题只要加上SerializerFeature.DisableCircularReferenceDetect
String toJSONString = JSONObject.toJSONString(rtnJson, SerializerFeature.DisableCircularReferenceDetect);