前端之家收集整理的这篇文章主要介绍了
使用fastjson中遇到的两个问题$ref,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
404_0@fastjson出现$ref
@H_
404_0@是由于循环引用引起的,比方说返回的json对象为空,而你要去引用对象的
属性,这时候就无法获得了,会出现这样的引用标识,可以这样
解决JSONObject.toJSONString(content,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteMapNullValue);去避免循环引用的探测。
@H_
404_0@
循环引用很多场景中,我们需要序列化的对象中存在循环引用
@H_
404_0@fastjson中序列化对象时不想返回对象的一些
属性:
@H_
404_0@将对象转换成json格式的时候,常常需要排除一些字段(例如延迟加载的字段)。在fastjson库中,我们可以使用SimplePropertyPreFilter忽略掉这些
属性。
filterSimplePropertyPreFilter= new SimplePropertyPreFilter();
filter"name".getExcludes().add();
filter//object是Java对象String result = JSONObject.toJSONString(object,);
@H_
404_0@或是在字段上
添加transient关键字, 例如:
@H_
404_0@private transient String ignore,transient关键字,在fastjson序列化json的时候忽略掉类中对应的
属性。