使用fastjson中遇到的两个问题$ref

前端之家收集整理的这篇文章主要介绍了使用fastjson中遇到的两个问题$ref前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

fastjson出现$ref

是由于循环引用引起的,比方说返回的json对象为空,而你要去引用对象的属性,这时候就无法获得了,会出现这样的引用标识,可以这样解决JSONObject.toJSONString(content,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteMapNullValue);去避免循环引用的探测。

循环引用很多场景中,我们需要序列化的对象中存在循环引用

fastjson中序列化对象时不想返回对象的一些属性

将对象转换成json格式的时候,常常需要排除一些字段(例如延迟加载的字段)。在fastjson库中,我们可以使用SimplePropertyPreFilter忽略掉这些属性

filterSimplePropertyPreFilter= new SimplePropertyPreFilter();
filter"name".getExcludes().add();
 
filter//object是Java对象String result = JSONObject.toJSONString(object,);

或是在字段上添加transient关键字, 例如:

private transient String ignore,transient关键字,在fastjson序列化json的时候忽略掉类中对应的属性

猜你在找的Json相关文章