Java 对象序列化 JSON时,数据出现引用结构 $ref

2023-11-01

对Java对象序列化操作时,发现JSON(使用阿里巴巴的FastJSON组件)数据中,包含“$ref”结构数据;

这是为了避免触发 StackOverflowError 错误而做的处理。

第一种解决方法是,关闭FastJSON的引用检测。(不建议)

第二种解决方法是,新建对象,拷贝属性后,加入到待序列化的对象中。

可使用org.springframework.beans.BeanUtils.copyProperties(Object source, Object target)方法拷贝属性。

 

具体原理、解释、demo可参考如下博文:

https://blog.csdn.net/envinfo2012/article/details/82851982

https://www.cnblogs.com/zj0208/p/6196632.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 对象序列化 JSON时,数据出现引用结构 $ref 的相关文章

随机推荐

  • 驱动器能耗制动和制动电阻

    能耗制动 伺服电机在制动过程是机械能转化为电能的过程 电能通过逆变回路回馈到直流母线 会导致直流母线电压升高 当电压上升超过允许阈值后 将会损坏驱动器内部器件 此时伺服电机制动时回馈的能量通过制动电阻消耗掉 能耗制动的优点 制动转矩平滑 而
  • # Spring Boot搭建实际项目开发中的架构

    Spring Boot搭建实际项目开发中的架构 前面的课程中 我主要给大家讲解了 Spring Boot 中常用的一些技术点 这些技术点在实际项目中可能不会全部用得到 因为不同的项目可能使用的技术不同 但是希望大家都能掌握如何使用 并能自己
  • 遥感+python 1.1环境搭建

    遥感 python 1 1环境搭建 目录 遥感 python 1 1环境搭建 1 工作环境 2 用到的包 3 下载区 本章节 笔者主要讲述在python中遥感应用的笔者的使用到的基本工具以及基本环境 为后续讲述其他代码做铺垫 为保证代码的运
  • Create Custom APIs in Dynamics 365 CRM

    Create Custom APIs in Dynamics 365 CRM Power Platform Custom API 系统间集成的新方法 本质上来说和之前的Custom Action区别不大 但从定义到注册整套更规范化 UI配置
  • Fleck webSocket

    NuGet 安装 Fleck 服务端 private static IDictionary
  • 关于低功耗的记录

    在之前的soc仿真中 用到了多电源域设计 因此学习了带UPF仿真的低功耗验证方法 在这里记录一下当时遇到的问题 低功耗设计包含 1 多电源域设计 部分模块可以使用不同的电压 如1 3v 1 1v 0 8v 2 多阈值电压cell的使用 Mu
  • HTML 链接

    HTML 链接 HTML 使用超级链接与网络上的另一个文档相连 几乎可以在所有的网页中找到链接 点击链接可以从一张页面跳转到另一张页面 尝试一下 实例 HTML 链接 如何在HTML文档中创建链接 可以在本页底端找到更多实例 HTML 超链
  • Java抽象类

    abstract修饰符可以用来修饰方法 也可以修饰类 如果修饰方法 那么该方法就是抽象方法 如果修饰类 那么该类就是抽象类 抽象类中可以没有抽象方法 但是有抽象方法的类一定要声明为抽象类 抽象类 不能使用new关键字来创建对象 它是用来让子
  • Windows常用运行命令

    Windows常用运行命令 打开运行窗口 使用Win R快捷键或右键开始 运行菜单 在打开输入框输入命令回车或确定 微软官方文档 https docs microsoft com zh cn windows server administr
  • Jetbrains使用学生账户激活与账户激活error:拒绝连接 问题解决

    Follow these steps Go to File gt Settings gt Appearance Behavior gt System settings gt HTTP Proxy Select Auto detect pro
  • cisco packet tracer 做VOIP语音实验

    实验环境 操作系统 windows 10 模拟器 cisco packet tracer 7 2 1 实验拓扑如下 ROUTER0 CONF 打开DHCP为局域网中的设备分配IP地址 DHCP Option 150是思科独有的命令 用来指定
  • 本地cdn缓存:解决Mathjax不稳定加载不出来公式

    本地cdn缓存 解决Mathjax不稳定加载不出来公式 如果网站用mathjax来显示公式 例如 这个Confluence 那么我们会发现 有的时候 公式加载慢半拍或者干脆加载不出来 这是因为 每次使用mathjax 浏览器都会从遥远的cd
  • 033_webpack打包ES6模块化工程

    1 新建项目 1 1 新建一个ES6Model文件夹 1 2 打开VSCode 1 3 使用VSCode打开文件夹 1 4 选择要打开的文件夹 1 5 资源管理器中显示打开的文件夹 1 6 在终端中运行 npm init y命令 初始化包管
  • Android开发实战讲解!五年Android开发者小米、阿里面经,醍醐灌顶!

    近两年 程序员职业发展 话题 受到越来越多关注 做技术还是转管理 如何保持竞争力 是否要转换新的技术栈 每个工作三五年的程序员 都正面临着类似的焦虑 工作三五年 不能像刚入职场凭着一股子冲劲和能吃苦耐劳的精神赢得升职加薪 而转型管理 是很多
  • 头歌平台educoder解除不能复制粘贴限制

    平台是平常上课的上机和作业很麻烦 后来知道可以cv就很简单了 希望大家顺利毕业 不挂科
  • 介绍几种给你的Python代码加上酷炫的进度条的方式

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 大家好 在下载某些文件的时候你一定会不时盯着进度条 在写代码的时候使用进度条可以便捷的观察任务处理情况 除了使用pr
  • sqli-labs-master第25、25a关

    第25关 http 192 168 89 139 sqli labs master Less 25 我们看到提示 过滤 or 和 and 为了进一步确认看下源代码 确实是这样 我们想一下还有哪些逻辑运算符 那就直接改为 利用 http 19
  • File chooser dialog can only be shown with a user activation.

    File chooser dialog can only be shown with a user activation vue项目中直接写this refs fileInput click 点击之后报警告 File chooser dia
  • mysql数据库逻辑模型图,MySQL逻辑架构

    上图 图是百度找的 msql en jpg msql en jpg mysql逻辑架构 连接层 服务层 引擎层 存储层 四层 Connectors 连接 指不同语言与数据库的交互 比如 java里的JDBC Management Serve
  • Java 对象序列化 JSON时,数据出现引用结构 $ref

    对Java对象序列化操作时 发现JSON 使用阿里巴巴的FastJSON组件 数据中 包含 ref 结构数据 这是为了避免触发 StackOverflowError 错误而做的处理 第一种解决方法是 关闭FastJSON的引用检测 不建议