http://blog.csdn.net/u013185616/article/details/52799166
[{"endsyntime":"2017-11-15 16:31:29","id":2,"intervaltime":"指定日期执行一次","sourcecount":15,"sourcedbid":6,"sourcetable":"test2","startsyntime":"2017-11-15 16:44:52","starttime":"2017-11-15 10:10:10","targettable":"test2"},{"$ref":"$[0]"},{"$ref":"$[0]"}]
我的原因是;添加数据时,new对象时,在循环外new的,list添加数据的时候,每次都add这一个obj.JsonSynModel synm = new JsonSynModel(); //错误的原由,循环添加同一个objfor (synmodel s : list) {synm = new JsonSynModel();synm.setId(s.getId());synm.setWeek(week);synm.setComment(s.getComment());reList.add(synm);}return JSON.toJSONString(reList);原因 : (多表查询,死循环)
循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。引用是通过$ref标示的,下面介绍一些引用的描述
"$ref":".." 上一级
"$ref":"@" 当前对象,也就是自引用
"$ref":"$" 根对象
"$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0)
(解除引用;ssh一对多,多对多维护一端关系,防止多表关联查询出现死循环)
解决办法 : 采用禁止循环引用的方案.
return JSON.toJSONString(reList,SerializerFeature.DisableCircularReferenceDetect);
其中:SerializerFeature.DisableCircularReferenceDetect就是禁止循环引用的方案,我们可以通过枚举类SerializerFeature来查看到底有多少种方式:
public enum SerializerFeature {QuoteFieldNames,UseSingleQuotes,WriteMapNullValue,WriteEnumUsingToString,UseISO8601DateFormat,/*** @since 1.1*/WriteNullListAsEmpty,/*** @since 1.1*/WriteNullStringAsEmpty,/*** @since 1.1*/WriteNullNumberAsZero,/*** @since 1.1*/WriteNullBooleanAsFalse,/*** @since 1.1*/SkipTransientField,/*** @since 1.1*/SortField,/*** @since 1.1.1*/@DeprecatedWriteTabAsSpecial,/*** @since 1.1.2*/PrettyFormat,/*** @since 1.1.2*/WriteClassName,
​/*** @since 1.1.6*/DisableCircularReferenceDetect,
​/*** @since 1.1.9*/WriteSlashAsSpecial,/*** @since 1.1.10*/BrowserCompatible,/*** @since 1.1.14*/WriteDateUseDateFormat,/*** @since 1.1.15*/NotWriteRootClassName,/*** @since 1.1.19*/DisableCheckSpecialChar,/*** @since 1.1.35*/BeanToArray;
​private SerializerFeature(){mask = (1 << ordinal());}
​private final int mask;
​public final int getMask() {return mask;}
​public static boolean isEnabled(int features, SerializerFeature feature) {return (features & feature.getMask()) != 0;}
​public static int config(int features, SerializerFeature feature, boolean state) {if (state) {features |= feature.getMask();} else {features &= ~feature.getMask();}
​return features;}
}
​

转载于:https://www.cnblogs.com/luckyyi/p/7999175.html

解析json对象出现$ref: $.list[0]的解决办法相关推荐

  1. json数据出现$ref: $.list[0]的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 最近线上遇到返回值问题,list转为json时候返回值中出现:$ref:"$.list.3.4.1[3]" ...

  2. java封装对象数组_java解析JSON对象和封装对象的示例

    在本例中java解析JSON对象使用的是org.json,因此,如果各位想测试我的代码,请先确保有java.json.jar包,否则,就需要去网上下载这个jar包,然后才可以正常使用本代码. 本例的功 ...

  3. Java、JS解析JSON对象、JSON数组

    一:三种JSON格式 基本类型 {"student": "张三","age": 18,"sex": true } 数组类 ...

  4. 按字段顺序加载或解析JSON对象

     1.保证json对象按put顺序加载属性 // 保证json对象按字段顺序put JSONObject jsonObject = new JSONObject(true); 原理: 2.字符串解析j ...

  5. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...

    C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...

  6. Error LNK2001 无法解析的外部符号 的几种情况及解决办法

    Error LNK2001 无法解析的外部符号 的几种情况及解决办法 多线程下的单例模式 这里要处理的是懒汉模式. [cpp] view plain copy  class Singleton { p ...

  7. C# 导出 Excel 数字列出现‘0’的解决办法

    在DataGird的中某一列全是数字并且长度大于15的字符,在导出excel时数字列第15-18位全部为0. 解决办法:在需导出数字列前加入英文字符状态的单引号(' ), 如: <asp:Tem ...

  8. MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法

    MFC: LNK2001 "无法解析的外部符号"的几种情况及解决办法 "Error LNK2001 无法解析的外部符号",关于这类错误的内容归纳比较齐全,就摘下 ...

  9. 万维考试系统检测不到VC++ 6.0环境解决办法

    万维考试系统检测不到VC++ 6.0环境解决办法 在大家使用万维考试系统的时候会发现提示检测不到VC++ 6.0环境 此时就需要这样做了 下载一个企业版VC++6.0 (下载链接https://dow ...

  10. Jena Fuseki启动时 Failed to bind to 0.0.0.0/0.0.0.0:3030 解决办法 —— 修改启动时的端口号

    问题 在启动Jena Fuseki时可能会由于端口号被占用的问题导致引起报错: ERROR Server :: SPARQLServer: Failed to start server: Failed ...

最新文章

  1. 怎么把页面内容填满一页_Excel表格太宽,一张纸打印不下,两张纸又空太多!怎么办?...
  2. SpringBoot如何返回页面
  3. JZOJ 5443. 【NOIP2017提高A组冲刺11.2】字典序
  4. py-faster-rcnn GPU跑demo预测分数低
  5. 增加mysql的sortbuffer_Mysql设置sort_buffer_size
  6. cvpr 深度估计_干货 | 2019 到目前为止的深度学习研究进展汇总
  7. effective mysql之备份与恢复_Effective MySQL之备份与恢复
  8. 如何转obj_Java 开发中如何正确的踩坑,看完这个你可以避免50%的错误
  9. 字符串操作的12个小技巧!
  10. 如何使用HTML5创建在线精美简历
  11. 今日头条遭罚 94 万;快手、火山小视频整改「低俗」;Wi-Fi 万能钥匙被调查 | CSDN极客头条
  12. python定义16进制数组,十六进制字符串到python中的字节数组
  13. mysql global_MySQL设置global变量和session变量的两种方法详解
  14. TDH Inceptor 操作实战案例之 验证ACID
  15. 风口猪炒股指标_使用说明文档20210101
  16. python求小于n的最大素数_枚举1--求小于n的最大素数
  17. 乐视贾跃亭任酷派集团执行董事 成酷派第二股东
  18. The forked VM terminated without properly saying goodbye. VM crash or System
  19. 初中数学知识点总结_初中数学知识点总结
  20. Android NCNN识别文字(OCR)

热门文章

  1. 自动生成网络拓扑图开源_电信网络拓扑图自动布局之总线
  2. 2020中考可不可以用计算机,2020北京中考录取规则:北京中考计算机的录取规则...
  3. sqlite数据库语句和mysql的语句_【玩转SQLite系列】(一)初识SQLite,重拾sql语句
  4. sqlite3 加密版本 下载_【平凡666】单机游戏管理器(支持未加密游戏管理) - 游戏相关...
  5. w ndows10怎么没体验指数,Win10没有“Windows体验指数”功能怎么进行系统评分【图文】...
  6. c语言单例模式,C语言之单例模式
  7. caffe手写数字识别-训练模型
  8. 著名线性代数教授 85岁麻省理工学院教授,给2020本科生教授《线性代数入门》
  9. 搜索算法(DFS,BFS等)
  10. android 表情的正则,Android 手势 正则匹配图片实例代码