在 fastjson1 版本中,可以设置禁止循环引用序列化,代码如下:
public class Demo {
public static void main(String[] args) {
Person daddy = new Person();
daddy.setAge(30);
daddy.setName("爸爸");
daddy.setPerson(daddy);
// fastjson1 可以设置禁止循环引用序列化
System.out.println(com.alibaba.fastjson.JSON.toJSONString(daddy, SerializerFeature.DisableCircularReferenceDetect));
// fastjson2 未找到设置方案
System.out.println(com.alibaba.fastjson2.JSON.toJSONString(daddy));
}
}
class Person { private String name; private int age; private Person person;
// get;set....
}
执行结果:
fastjson1:{"age":30,"name":"爸爸","person":{"$ref":".."}} fastjson2:直接报错
原提问者GitHub用户chimmhuang
参考这个:https://github.com/alibaba/fastjson2/blob/main/docs/features_cn.md
原回答者GitHub用户wsxe9988
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。