java:Fastjson将object转为json时"$ref"的相关问题

1,出现"$ref"的原因

循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。引用是通过$ref标示的。

2,$ref引用的描述

  • "$ref":".." 上一级
  • "$ref":"@" 当前对象,也就是自引用
  • "$ref":"$" 根对象
  • "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0)

3,解决方案

fastjson提供了多种json转换方案,其中有禁止循环引用的方案

String jsonString = JSON.toJSONString(object, SerializerFeature.DisableCircularReferenceDetect);