比如订单列表需要返回用户信息的时候,可能两个订单是同一个用户,这个时候这两个订单指向的是同一个用户对象返回的,所以这个时候Fastjson解析时返回结果就会产生$ref: "$.list[0]"类似与这样的东东,所以现在需要把这个关闭,就不会产生这样的字符了
FastJsonConfig fastJsonConfig = new FastJsonConfig();
//SerializerFeature.PrettyFormat -- 空的对象不返回,这样可以有效节省返回内容的体积
// SerializerFeature.DisableCircularReferenceDetect --关闭循环引用
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.DisableCircularReferenceDetect);
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
需要注意的是,关闭循环引用的情况下,如果循环引用的层次比较深,可能引起StackOverflowError