JSON

JSON-lib学习3循环引用

字号+ 作者:H5之家 来源:H5之家 2017-04-20 17:02 我要评论( )

JSON-lib学习(三)循环引用 如果A对象持有B的引用,B对象持有A的引用,这样就形成了循环引用,如果直接使用json-lib转换,会报错: net.sf.json.JSONException:

如果a对象持有b的引用,b对象持有a的引用,这样就形成了循环引用,如果直接使用json-lib转换,会报错:

net.sf.json.jsonexception: there is a cycle in the hierarchy!

import java.util.hashset; import java.util.set; public class aclass { private string name; private int age; private set<bclass> policygoals = new hashset<bclass>(); public aclass() { } public aclass(string name, int age) { this.name = name; this.age = age; } public string getname() { return name; } public set<bclass> getpolicygoals() { return policygoals; } public void setpolicygoals(set<bclass> policygoals) { this.policygoals = policygoals; } public void setname(string name) { this.name = name; } public int getage() { return age; } public void setage(int age) { this.age = age; } @override public string tostring() { return name + "----" + age; } public class bclass { private string sex; private int address; private aclass aclass; public bclass() { } public string getsex() { return sex; } public void setsex(string sex) { this.sex = sex; } public int getaddress() { return address; } public void setaddress(int address) { this.address = address; } public aclass getaclass() { return aclass; } public void setaclass(aclass aclass) { this.aclass = aclass; } } public static void main(string[] args) throws exception { aclass aobj = new aclass(); aobj.setname("xiu"); aobj.setage(20); // cretae b bclass bobj = new bclass(); bobj.setsex("girl"); bobj.setaddress(100); bobj.setaclass(aobj); aobj.getpolicygoals().add(bobj); jsonconfig jsonconfig = new jsonconfig(); // jsonconfig.setexcludes(new string[]{"bclass"}); jsonconfig.setcycledetectionstrategy(cycledetectionstrategy.lenient); jsonobject jsonobj = jsonobject.fromobject(aobj,jsonconfig); system.out.println(jsonobj.tostring()); }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Go学习笔记:json处理

    Go学习笔记:json处理

    2017-04-20 18:00

  • 微信小程序新手教程之学习开发小技巧

    微信小程序新手教程之学习开发小技巧

    2017-04-20 10:02

  • Qt 学习之路 2(63):使用 QJson 处理 JSON

    Qt 学习之路 2(63):使用 QJson 处理 JSON

    2017-04-19 08:03

  • Json for Java API学习

    Json for Java API学习

    2017-04-16 13:03

网友点评