JSON.toJSONString方法转换后的字符串出现问题?

JSON.toJSONString方法转换后的字符串出现问题?

问题描述:

根据分类名称查询后的图书结果集经过JSON转换后字符串出现问题,这个是怎么回事?

相关截图:

http://img1.sycdn.imooc.com//climg/60059bb7097f205c16900784.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

抱歉同学,没看清问题所在。在转换为json类型数据时,如果一个对象包含另一个对象时,fastjson就会把该对象中的对象解析成引用。第一条数据正常显示,第二条数据中,Category解析为$ref就是指上一条数据中的Category。

同学可以在转换为json数据时,加上SerializerFeature.DisableCircularReferenceDetect,表示禁止循环引用

代码如:

​booksJSON = JSON.toJSONString(booksByCategoryName, SerializerFeature.DisableCircularReferenceDetect);

祝:学习愉快~

好帮手慕阿满 2021-01-19 11:04:57

同学你好,在同学的代码中,Book类中图书分类的类型是Category对吗?这个是正常的,book对象中包括该对象所属图书分类,是Category类型,转换后就是如图所示的样式。在ajax中展示图书分类时,可以使用json[i].bookCategory.categoryName展示图书分类名称。

祝学习愉快~

  • 提问者 谁叫我这么坏 #1

    老师,图书分类是Category,JSON转换后的字符串,第一个对象里的数据显示都是正常的,后面的数据就是错误的了,,而且我在JSP页面里也是按照你说的方式来获取的,但是页面只有第一个正确显示了,后面的都显示undefined

    2021-01-19 17:06:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师