FastJSON 禁用循环引用检测DisableCircularReferenceDetect(“$ref“)
FastJSON全局禁用循环引用检测DisableCircularReferenceDetect(“$ref”)
全局禁用
执行代码修改静态变量全局默认关闭,就不会再对重复引用改为"$ref":xxx了
JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask();
关闭之前序列化出来的数据
JSON.toJSONString(detailVo);
有个"
r
e
f
"
:
"
ref":"
ref":".auditPriceDetail.addInfoList"
{"auditPriceDetail":{"addInfoList":[{"acid":"CB596A902CDD0079","amountLimit":500,"discountDetail":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机, 满500加600, 加价金额:600","discountPrice":600,"discountsName":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机","originalPrice":857,"value":600,"valueType":1}],"addPrice":600,"levelId":"1574336224519077889","levelPackage":"08G","originalPrice":857,"totalPrice":1457},"estimatePriceDetail":{"addInfoList":[{"acid":"CB596A902CDD0079","amountLimit":1000,"discountDetail":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机, 满1000加680, 加价金额:680","discountPrice":680,"discountsName":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机","originalPrice":1047,"value":680,"valueType":1}],"addPrice":680,"levelPackage":"07F","originalPrice":1047,"totalPrice":1727},"secondVisitDetail":{{"$ref":"$.auditPriceDetail.addInfoList"}"addPrice":600,"levelId":"1574336224519077889","levelPackage":"08G","originalPrice":857,"totalPrice":1457}}
关闭之后正常
{"auditPriceDetail":{"addInfoList":[{"acid":"0F6A87B0403414AF","amountLimit":300,"discountDetail":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机, 满300加560, 加价金额:560","discountPrice":560,"discountsName":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机","originalPrice":416,"value":560,"valueType":1}],"addPrice":560,"levelId":"1574329517856342017","levelPackage":"07F","originalPrice":416,"totalPrice":976},"estimatePriceDetail":{"addInfoList":[{"acid":"0F6A87B0403414AF","amountLimit":500,"discountDetail":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机, 满500加600, 加价金额:600","discountPrice":600,"discountsName":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机","originalPrice":718,"value":600,"valueType":1}],"addPrice":600,"levelPackage":"03B","originalPrice":718,"totalPrice":1318},"secondVisitDetail":{"addInfoList":[{"acid":"0F6A87B0403414AF","amountLimit":300.00,"discountDetail":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机, 满300加560, 加价金额:560","discountPrice":560.00,"discountsName":"荣耀Magic6系列新品以旧换新补贴(1月11日-1月31日)指定旧机","originalPrice":416,"value":560.00,"valueType":1}],"addPrice":560,"levelId":"1574329517856342017","levelPackage":"07F","originalPrice":416,"totalPrice":976}}
局部禁用
序列化的时候带上SerializerFeature.DisableCircularReferenceDetect特性
JSON.toJSONString(detailVo, SerializerFeature.DisableCircularReferenceDetect);
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039425
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-01-19 最新亲测可用Tendis 安装 三主三从 主从复制 集群搭建教程、热搬迁迁移,主从测试,常见问题
2021-01-19 2021年1月19日最新Let‘s encrypt免费证书安装和更新教程,亲测可用