JSON 数据重复 出现$ref

不想你离开。 提交于 2019-12-03 18:26:13

JSON 数据重复 出现$ref

JSONArray  类型  如果我们往里面add数据的时候 如果数据相同,那么就会被替换成 $ref:   也就是被简化了 因为数据一样所直接 指向上一条数据

 

循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。引用是通过$ref标示的,下面介绍一些引用的描述

  • "$ref":".." 上一级
  • "$ref":"@" 当前对象,也就是自引用
  • "$ref":"$" 根对象
  • "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0)

 例如下面这3个银行卡都是建行的,那么就会出现这个问题,因为bank信息完全一致

 

因为我们要在前端展示数据 所以这样肯定不对 ,那么如果解决呢

网上都说是加上SerializerFeature.DisableCircularReferenceDetect

1   首先把JSONArray 转成string  这个时候加上SerializerFeature.DisableCircularReferenceDetect

JSONArray.toJSONString(userBankJsonArray, SerializerFeature.DisableCircularReferenceDetect)

2  因为之前是JSON格式的  所以我们还要把string转成JSON

JSONObject.parse(JSONArray.toJSONString(userBankJsonArray, SerializerFeature.DisableCircularReferenceDetect))

 

然后在传到前端  前端解析就没问题了   

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!