例子

meta: {$ref: "$.data[1].children[0].meta"}

出现这种问题都由于循环引用造成的
循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。

解决办法

禁止循环引用:使用fastjson的JSONObject.toJSONString(meta, SerializerFeature.DisableCircularReferenceDetect);
在最终返回的数据的时候可以使用该方法

Map<String, Object> map = new HashMap<>();
Map<String, Object> meta = new HashMap<>();
meta.put("title", "value值");
// 解决办法
String metaStr = JSONObject.toJSONString(meta, SerializerFeature.DisableCircularReferenceDetect);
map.put("meta", JSONObject.parseObject(metaStr));
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐