/*
* 1 封装的自定义类型对象的时候,封装对象中的那个属性
* 取决于你的自定义数据类型对象中哪个属性提供了Getter方法
* **如果不想封装自定义对象中的某个属性,可以将给属性的getter方法移除
* 2封装在JSONObject中的自定义类型对象必须是public修饰的
* JSON提供了属性锅炉的功能
* 将自定义类型对象中不想封装在JSON中的属性过滤掉
* JsonConfig
* setExcludes(String[] {"name","age"})
*
* 必要性
* 什么情况下需要用到属性过滤
* 当JSON技术与hibernate激情碰撞并且伴随级联
* 必须是用JSON的过滤功能将具有级联关系的属性过滤掉
* 否则会造成死循环异常
* There is a cycle in the hierarchy
*/
public static void main(String[] args) {
Goods good = new Goods();
GoodsType gt = new GoodsType();
JsonConfig jc = new JsonConfig();
jc.setExcludes(new String[]{"gt"});
JSONObject jo = JSONObject.fromObject(gt,jc);
}