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))

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

JSON 数据重复 出现$ref的更多相关文章

  1. 深入了解Struts2返回JSON数据的原理

    首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...

  2. Jackson序列化和反序列化Json数据完整示例

    Jackson序列化和反序列化Json数据 Web技术发展的今天,Json和XML已经成为了web数据的事实标准,然而这种格式化的数据手工解析又非常麻烦,软件工程界永远不缺少工具,每当有需求的时候就会 ...

  3. Netflix Falcor获取JSON数据

    Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制. Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面.所有来自内 ...

  4. J2EE Web开发入门—通过action是以传统方式返回JSON数据

    关键字:maven.m2eclipse.JSON.Struts2.Log4j2.tomcat.jdk7.Config Browser Plugin Created by Bob 20131031 l ...

  5. spingmvc 返回json数据日期格式化方法

    第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxm ...

  6. Android - 服务器json数据交互.

    一,服务器端 服务器端使用的是Servlet,封装json对象使用的 'json-lib-2.2.2-jdk15.jar,ezmorph-1.0.4.jar,commons-logging-1.1.j ...

  7. Android(java)学习笔记208:Android中操作JSON数据(Json和Jsonarray)

    1.Json 和 Xml       JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  8. PHP: 判断是否是JSON数据

    原文:PHP: 判断是否是JSON数据 首先要记住json_encode返回的是字符串, 而json_decode返回的是对象. 判断数据不是JSON格式: function is_not_json( ...

  9. Spring MVC如何进行JSON数据的传输与接受

    本篇文章写给刚接触SpingMVC的同道中人,虽然笔者本身水平也不高,但聊胜于无吧,希望可以给某些人带来帮助 笔者同时再次说明,运行本例时,需注意一些配置文件和网页脚本的路径,因为笔者的文件路径与读者 ...

随机推荐

  1. Tomcat的缺省是多少,怎么修改

     Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 ...

  2. 浅析跨域的方法之一 JSONP

    概念: 什么叫跨域? 同源策略:它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域名,协议,端口相同. 同源的脚本才会被执行 ...

  3. Bootstrap 4,“未捕获错误:Bootstrap工具提示需要Tether(http://github.hubspot.com/tether/)”

    如果出现了这个错误,我想你是没有引用tether文件,这在v4之前不需要单独引入的. https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/te ...

  4. 用尽洪荒之力学习Flask源码

    WSGIapp.run()werkzeug@app.route('/')ContextLocalLocalStackLocalProxyContext CreateStack pushStack po ...

  5. SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)

    SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...

  6. windows开发的python移植到linux的问题

    2016年1月28日 这个问题已经自己解决   file-setting下 左侧code style  line separator下拉选择unix就可以了 我在windows上开发的python想移 ...

  7. echarts3 迁徙图 迁入迁出

    geoCoordMap = { '上海': [121.4648,31.2891], '佛山': [112.8955,23.1097], '保定': [115.0488,39.0948], '兰州': ...

  8. PAT1013: Battle Over Cities

    1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...

  9. 异常--java.text.ParseException: Unparseable date

    String d = "2015-05-19" SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy/MM/dd HH ...

  10. 小马哥Python知识体系

    从今天起,小马哥每天都发表一篇关于Python的博文,知识范围由Python的0基础,逐渐到项目应用. 目的: 在分享中学习 每天的新博文都会加入到这里成为超链接,方便各位点击查阅. Python基础 ...