后端发送JSON数据到前端,前端接收$ref: “$.list[*].***”导致数据不能正确显示的解决办法

前段时间因为业务原因后端发送到前端数据,有一部分数据显示” $ref: "$.list[*].***” “的字符串,导致我的数据无法在页面解析,在前端找了很久的原因,最后发现是后端出的问题,原因后端发送JSON的时候会进行循环检测,将相同的数据进行整理,此时就显示我们一开始说的问题,问题图片如下:

 解决办法:使用fastJSON工具在后端关闭循环检测即可

首先我们导入fastJSON坐标

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>

之后在需要发送JSON的部分写入SerializerFeature.DisableCircularReferenceDetect参数,用来关闭循环检测

       //分页插件进行分页
        PageHelper pageHelper=new PageHelper(doctorDao.findAllDoctor());
        PageHelper.startPage(page, 20);
        ArrayList<Doctor_information> allDoctor = doctorDao.findAllDoctor();
        PageInfo pageInfo = new PageInfo(allDoctor);
        //重点:SerializerFeature.DisableCircularReferenceDetect:关闭循环检测
        return JSON.toJSONString(pageInfo, SerializerFeature.DisableCircularReferenceDetect);

此时我们重新运行,就可以看见之前异常的数据恢复了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值