开发者社区 问答 正文

fastjson 2 禁止循环引用的序列化应该如何设置?

在 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

展开
收起
飘飘斯嘉丽 2023-04-21 12:02:14 1280 分享 版权
1 条回答
写回答
取消 提交回答
  • 参考这个:https://github.com/alibaba/fastjson2/blob/main/docs/features_cn.md

    回答3.png

    原回答者GitHub用户wsxe9988

    2023-04-21 14:41:10
    赞同 展开评论