下面方式会出现循环依赖问题,需要注意
public class Penson {
private String name;
private String age;
private Penson p;
public String getName() {return name;}
public void setName(String name) {this.name = name; }
public String getAge() { return age;}
public void setAge(String age) { this.age = age; }
public Penson getP() {return p;}
public void setP(Penson p) { this.p = p;}
}
这样的写法 ,po.getP().setP(po);System.out.println(JSON.toJSONString(po));会出现循环依赖
public static void main(String[] args) throws ParseException {
Penson po = new Penson();
po.setName("shishi");
po.setAge("18");
Penson poC = new Penson();
poC.setName("baby");
poC.setAge("1");
po.setP(poC);
po.getP().setP(po);
System.out.println(JSON.toJSONString(po));
}
main方法输出:
{"age":"18","name":"shishi","p":{"age":"1","name":"baby","p":{"$ref":".."}}}