1. 遇到的问题

{
"errMsg": "",
"data": {
"baseinfo": {
"freeTest": "0",
"request": "1",
"format": "2",
"url": "rttt"
},
"backSample": {
"backSample": ""
},
"errCode": [
{
"sid": "2",
"orderVal": "2",
"wrequired": "g",
"code": "mm",
"fieldId": "2",
"wdefault": "sdf",
"codeDesc": "erfrgt",
"inOut": "1",
"name": "efed",
"wdesc": "dfdws",
"typ": "int"
},
{
"sid": "1",
"orderVal": "2",
"wrequired": "g",
"code": "dd",
"fieldId": "2",
"wdefault": "sdf",
"codeDesc": "edfd",
"inOut": "1",
"name": "efed",
"wdesc": "dfdws",
"typ": "int"
}
],
"params": [
{
"$ref": "$.data.errCode[0]"
},
{
"sid": "2",
"orderVal": "1",
"wrequired": "d",
"code": "mm",
"fieldId": "1",
"wdefault": "eddf",
"codeDesc": "erfrgt",
"inOut": "1",
"name": "eed",
"wdesc": "dfds",
"typ": "int"
}
]
},
"code": "0"
}

今天在开发过程中,使用POSTMAN调试接口时出现以上问题

"$ref": "$.data.errCode[0]"

2. 解决方案

DisableCircularReferenceDetect来禁止循环引用检测:

JSON.toJSONString(..., SerializerFeature.DisableCircularReferenceDetect)

采用的一个对象,整个list列表中每个元素有一个对象元素,如果第二个元素中有一个与第一个元素中对象同名的,就会去引用上一个元素的地址,在json前台解析的时候就不会解析出来相应对象的数据,当进行toJSONString的时候,默认如果重用对象的话,会使用引用的方式进行引用对象。

3. 剖析

引用是用“$ref”来表示的

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

3. 前端解决方案

FastJson.format(data);  //data是后台返回的json数据,里面有$ref字样的字符串,这是前面所说的fastjson处理的,但是通过这句话都能进行替换,把我们需要的数据还原回来

最新文章

  1. Android获取位置信息的方法总结
  2. Android学习笔记之消息机制
  3. 重构Web Api程序(Api Controller和Entity) 续篇(2)
  4. 网络流 HDU 3605
  5. Java for LeetCode 208 Implement Trie (Prefix Tree)
  6. react native TypeError network request failed
  7. nginx安全相关设置
  8. 二分多重匹配(HDU5093)
  9. Hbase之必要时取出请求的行(列族所有数据)
  10. Shell’s Sort
  11. Android 网络请求详解
  12. Jsp_demo:自定义标签
  13. HTML5 WebAudioAPI-实例(二)
  14. 04747_Java语言程序设计(一)_第3章_面向对象编程基础
  15. CodeForces Round #191 (327C) - Magic Five 等比数列求和的快速幂取模
  16. 从PRISM开始学WPF(五)MVVM(一)ViewModel?
  17. SqlServer数据库重命名报错误:5030
  18. Javascript高级编程学习笔记(56)—— DOM2和DOM3(8)低版本IE范围
  19. Shiro 基础教程
  20. codeforces 722D Generating Sets 【优先队列】

热门文章

  1. stylus含有的特性
  2. Java源码分析:关于 HashMap 1.8 的重大更新(转载)
  3. inline-block的理解
  4. js解决下拉列表框互斥选项的问题
  5. java List递归排序,传统方式和java8 Stream优化递归,无序的列表按照父级关系进行排序(两种排序类型)
  6. Linux-03
  7. LVS(一):基本概念和三种模式
  8. 在windows下使用jenkins部署docker容器
  9. MyBatis-Plus学习笔记
  10. Eclipse+Servlet+jsp+MySql