FastJson tutorial manual / Fastjson 循环引用

Fastjson 循环引用

fastjson支持循环引用,并且是缺省打开的。

关闭引用支持

当序列化后的JSON传输到浏览器或者其他语言中,这些json解析器不支持循环引用,从而导致数据丢失。你可以关闭fastjson的循环引用支持。关闭引用检测,还能够提升序列化时的性能。

全局配置关闭

  JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask();

非全局关闭

  JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect);

语法

语法描述
{"$ref":"$"}引用根对象
{"$ref":"@"}引用自己
{"$ref":".."}引用父对象
{"$ref":"../.."}引用父对象的父对象
{"$ref":"$.members[0].reportTo"}基于路径的引用