fastjson一个集合被多次引用的问题

Posted 顶风少年的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson一个集合被多次引用的问题相关的知识,希望对你有一定的参考价值。

技术图片
public class A {
    private B b;
    private C c;
    public B getB() {
        return b;
    }
    public void setB(B b) {
        this.b = b;
    }
    public C getC() {
        return c;
    }
    public void setC(C c) {
        this.c = c;
    }
    
}
View Code
技术图片
public class B {
    private List<D> dlist;

    public List<D> getDlist() {
        return dlist;
    }

    public void setDlist(List<D> dlist) {
        this.dlist = dlist;
    }
    
}
View Code
技术图片
public class C {
    private List<D> dlist;

    public List<D> getDlist() {
        return dlist;
    }

    public void setDlist(List<D> dlist) {
        this.dlist = dlist;
    }
    
}
View Code
技术图片
public class D {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    
}
View Code
技术图片
D d = new D();
        d.setName("张三");
        
        ArrayList<D> dList = new ArrayList<>();
        dList.add(d);
        
        B b = new B();
        b.setDlist(dList);
        
        C c = new C();
        c.setDlist(dList);
        
        A a = new A();
        a.setB(b);
        a.setC(c);
        
        String jsonString = JSON.toJSONString(a,SerializerFeature.DisableCircularReferenceDetect);
        System.out.println(jsonString);
View Code

 

以上是关于fastjson一个集合被多次引用的问题的主要内容,如果未能解决你的问题,请参考以下文章

出现$ref的解决原因

03 FastJson 解决循环引用

防止同一片段多次堆叠 (addToBackStack)

多次调用片段 onCreateView

Java方法的介绍

如何解决fastjson把对象转化成json避免$ref