Fastjson.tojsonString中$ref对象重复引用问题
2017-09-07 11:06
609 查看
import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; /** * fastjson中$ref对象重复引用问题 * * 介绍: * FastJson提供了SerializerFeature.DisableCircularReferenceDetect这个序列化选项,用来关闭引用检测。 * 关闭引用检测后,重复引用对象时就不会被$ref代替,但是在循环引用时也会导致StackOverflowError异常。 * * 用法: * JSON.toJSONString(object, SerializerFeature.DisableCircularReferenceDetect); */ public class TestFastJson { List<Person> list = new ArrayList<Person>(); Person p = new Person("ZhangSan", 23); /** * 测试main */ public static void main(String[] args) { // new TestFastJson().test1(); new TestFastJson().test2(); } /** * 未关闭引用检测,转化字符串时会出现$ref */ public void test1() { list.add(p); list.add(p); String jsonStr = JSON.toJSONString(list); System.out.println(jsonStr); // [{"age":23,"name":"ZhangSan"},{"$ref":"$[0]"}] } /** * 关闭引用检测后,$ref的问题就会被解决 */ public void test2() { list.add(p); list.add(p); String jsonStr = JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect); System.out.println(jsonStr); // [{"age":23,"name":"ZhangSan"},{"age":23,"name":"ZhangSan"}] } } class Person { private String name; private int age; // 构造函数 public Person(String name, int age) { super(); this.name = name; this.age = age; } // getters/setters(略) }
转:http://www.cnblogs.com/zj0208/p/6196632.html
相关文章推荐
- Fastjson-fastjson中$ref对象重复引用问题
- fastjson中$ref对象重复引用问题解决方法
- 【Java】消除fastjson对同一对象循环引用的问题
- 解决fastjson内存对象重复/循环引用json错误
- 关于FastJson的一些问题的处理(时间问题 ,转换json重用对象引用问)
- 解决FastJson的$ref循环引用检测的问题
- 解决fastjson内存对象重复/循环引用json错误
- fastjson空对象不显示问题
- fastJson中 JSON.toJSONString(list,true) 和 JSON.toJSONString(list)的区别
- 当使用json写map对象时里面的重复对象会变成引用,导致前段取不到
- com.alibaba.fastjson把JSONObject转换为Map<String, String>对象
- 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题
- bootstrap table处理含有子集json的数据以及fastjson禁止循环引用的问题
- String,Array等原生引用对象prototype问题(打X未解决,打勾已解决)
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题
- fastjson转换对象,属性首字母大小写的问题
- springmvc中解决FastJson循环引用的问题
- json对象中的值被引用两次的问题
- 解决FastJson中“$ref 循环引用”的问题