小程序
小游戏
企业微信
微信支付
扫描小程序码分享
当页面引入网易云信的聊天室功能后 网易云信能正常将数据发送过来 web端一切正常 但是IOS和安卓会报错并且v-for不会渲染,但是能接收到网易云信的数据。
19:11:22.500 TypeError: JSON.stringify cannot serialize cyclic structures. __ERROR
希望有大佬来帮我解决 急需 有偿解决问题
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
主要记录一下,给遇到类似问题的小伙伴一个参考。
碰到过类似的问题,一般这种情况是发生在给data对象属性赋值时(直接赋值或调用setData都会触发JSON.stringify)。
我碰到的问题是:将实例化后的聊天室赋值给data的_chatroomInstance:
this.data._chatroomInstance = chatroomInstance
报错:
因为对data的属性赋值操作会触发JSON.stringify,chatroomInstance 实例里应该有对自身的引用才导致的报错。
问题解决:将 chatroomInstance 实例换个位置如:this 上保存,而不是在 this.data的属性上保存。
this._chatroomInstance = chatroomInstance;
------------------------------------------------------------------------------------------------------------------------------------
尝试过引入WebReflection/circular-json: JSON does not handle circular references. Now it does (github.com)修改云信聊天室源码,结果发现云信聊天室源码已经做了处理(说明不是云信代码包内部调用JSON.stringify 产生的问题),而云信的微信小程序聊天室示例是正常的,则说明是我写的代码问题,分析自己代码,最终发现如上问题,使得问题得到解决。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
主要记录一下,给遇到类似问题的小伙伴一个参考。
碰到过类似的问题,一般这种情况是发生在给data对象属性赋值时(直接赋值或调用setData都会触发JSON.stringify)。
我碰到的问题是:将实例化后的聊天室赋值给data的_chatroomInstance:
this.data._chatroomInstance = chatroomInstance
报错:
因为对data的属性赋值操作会触发JSON.stringify,chatroomInstance 实例里应该有对自身的引用才导致的报错。
问题解决:将 chatroomInstance 实例换个位置如:this 上保存,而不是在 this.data的属性上保存。
this._chatroomInstance = chatroomInstance;
------------------------------------------------------------------------------------------------------------------------------------
尝试过引入WebReflection/circular-json: JSON does not handle circular references. Now it does (github.com)修改云信聊天室源码,结果发现云信聊天室源码已经做了处理(说明不是云信代码包内部调用JSON.stringify 产生的问题),而云信的微信小程序聊天室示例是正常的,则说明是我写的代码问题,分析自己代码,最终发现如上问题,使得问题得到解决。
------------------------------------------------------------------------------------------------------------------------------------