在编写测试代码实现一个组织架构树的功能时,部门的parent部门没有显示,出现了json解析异常错误
[{“r e f " : " ref":"ref":"[0]”}] [{“r e f " : " ref":"ref":"[1]”}]

[
{"detail":"O","id":"11111","name":"网络科技公司",
"parentEntranceGuardList":[]],
{"detail":"1","id":"11113","name":"网络部",
"parentEntranceGuardList":[{"$ref":"$[0]"}],"parentId":"11111"},{"detail":"2","id":"11114","name":"网络信息安全部",
"parentEntranceGuardList": [{"$ref":"$[1]"}],"parentId":"11113"}
]

出现r e f : " ref: "ref:"[0]"的原因 多个元素持有同一个引用。是因为循环引用对象重复,对象的hashcode是一样的,使用toString显示不同,但是用json就解析错误了
解决方案
1.取消FastJson的循环引用的检查:
SerializerFeature.DisableCircularReferenceDetect

JsONObiect.toJSONString(quardVoList.SerializerFeature.DisablecircularReferenceDetect)

也可以在项目拦截配置里加入全局禁用循环引用
但是有可能会导致StackOverflowError异常。
2. 加在字段上面 禁用循环引用

@JSONField(serialzeFeatures = {SerializerFeature.DisableCircularReferenceDetect})

3.通过对象拷贝,将对象的属性值复制新的对象中。

BeanUtils.copyProperties (old,new);

使用后 成功显示

[{"detail":"O","id":"11111","name":"网络科技公司","parentEntranceGuardList":[]},
{"detail":"1","id":"11113","name":"网络部",
"parentEntranceGuardList":[{"detail":"O","id": "11111","name":"网络科技公司","parentEntranceGuardList": []}],"parentId":"11111"}
,{"detail":"2","id":"11114","name":"网络信息安全部",
"parentEntranceGuardList": [{"detail":"1","id": "11113","name": "网络部",
"parentEntranceGuardList": [{"detail":"O","id":"11111","name":"网络科技公司","parentEntranceGuardList": [1}],""parentId":"11113"}]
}]

json解析异常显示{“$ref“:“$[0]“}的更多相关文章

  1. json解析异常 - net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

    注:在项目中, 我使用原生的ajax请求数据的时候, JSONObject没能帮我解析, 当却不给我报错, 我是在junit单元测试中测试的时候, 发现的.发现好多时候, 特别是通过ajax请求, 不 ...

  2. 阿里巴巴 fastjson-1.2.12.jar json解析异常java.lang.ClassFormatError: Invalid method Code length 66865 in class file com/alibaba/fastjson/serializer/ASMSerializer_6_UserKdlb

    承接上篇:fastjson反序列化LocalDateTime失败的问题java.time.format.DateTimeParseException: Text '2019-05-24 13:52:1 ...

  3. 常用json解析库比较及选择 fastjson & gson

    一.常用json解析库比较及选择 1.简介 fastjson和gson是目前比较常用的json解析库,并且现在我们项目代码中,也在使用这两个解析库. fastjson 是由阿里开发的,号称是处理jso ...

  4. Cocos2d-x3.0 Json解析

    2dx3.0下一个JSON解析库官员以及集成.我们参考一下吧OK. JSON文件hello.json内容 {"pets":["dog","cat&qu ...

  5. Json 网络传递解析异常

    在项目中碰到一个bug,A项目请求B项目,获取到的Json无法解析,B项目封装的Json,在项目内部可以正常解析,问题并不是Json 解析的错误,而是实体Bean中有数组类型的字段;解决办法就是对封装 ...

  6. .Net Core 3.0原生Json解析器

    微软官方博客中描述了为什么构造了全新的Json解析器而不是继续使用行业准则Json.Net 微软博客地址:https://devblogs.microsoft.com/dotnet/try-the-n ...

  7. JSON解析实例——使用Json-lib

    JSON解析实例——使用Json-lib Json-lib下载及使用 本文介绍用一个类库进行JSON解析. 工具下载地址:http://sourceforge.net/projects/json-li ...

  8. 在Json解析过程中,我为什么用object1.optInt ,和 object1.optString

    今天在做Json解析的时候,出现了一段代码没执行的问题,于是找了一下原因: 1.原代码是:   发现 红色的一句 没有执行,查看控制台发现了异常 2.修复bug ,正确的代码为        3.总结 ...

  9. 一起写一个JSON解析器

    [本篇博文会介绍JSON解析的原理与实现,并一步一步写出来一个简单但实用的JSON解析器,项目地址:SimpleJSON.希望通过这篇博文,能让我们以后与JSON打交道时更加得心应手.由于个人水平有限 ...

  10. android json解析及简单例子

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

随机推荐

  1. python3.5升级到3.6

    第一步: sudo apt-get install software-properties-common sudo add-apt-repository ppa:jonathonf/python-3. ...

  2. DevExpress 模块注入框架

    参考地址 模块注入框架(MIF)是一组帮助MVVM应用程序的类.它提供以下功能 将ViewModel连接到视图 页面之间导航 保存和恢复应用程序的可视和逻辑状态 单元测试 模块 模块是应用程序的功能单 ...

  3. 艾思软件app开发公司帮您分析:开发一个APP多少钱?

    首先你要知道你所要开发的APP, 是不是已经成熟的相同的产品, 如果有的话那还是建议直接购买, 这种已经能满足你需求的成品APP价格会很便宜, 总成本一般也就1到2万的级别. 如果没有那就需要定制开发 ...

  4. 循环文件夹汇总所有下载发票的Excel文件数据

    Dim a As String, n As Integer, wbs As Workbook ThisWorkbook.Sheets(1).Cells.Clear a = Dir(ThisWorkbo ...

  5. 单例和mono单例

    单例 public class Singleton<T> where T : new() { private static T instance; public static T Inst ...

  6. vitrualbox虚拟机搭建

    参考:https://blog.csdn.net/weixin_45115705/article/details/100661644?depth_1-utm_source=distribute.pc_ ...

  7. python-魔法函数-__str__ __repr__ 的一次异常

    # encoding: utf-8import loggingERROR_NOT_FOUNDED_FILE = "error_not_founded_file"class Gene ...

  8. java8利用流和lambda表达式对list遍历处理

    java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组.过滤.求和.最值.排序.去重. 优点: (1) 简洁,跟之前的传统写法对比,能少写不少代码; (2) 易并行计算.尤其适用 ...

  9. goujian

    第二章的内容先对第一张来说更偏向于技术性,在团队合作中,如何保证自己所负责模块的质量的稳定,这就对自身的技术和一些良好的代码书写习惯有一定的要求.这里除了之前接触的代码的整齐(段落划分),变量值和文件 ...

  10. 记录一次线上gitlab11.x升级gitlab14.x版本操作

    前言:gitlab11升级到14还是有挺多需要注意的坑,也算是做一次积累吧,升级前后,gitalb的WEB界面也变化了很多,升级过程需要注意的地方我放到最后说明,挺关键的 一.首先需要下载好要升级的包 ...