'Converting circular structure to JSON’报错的解决方案
1.业务需求:
- vue项目使用el-tree组件时需要将树形的某一个node对象存储起来,存储的时候需要使用JSON对象来转换为字符串的形式,此时出现
Converting circular structure to JSON
报错,JSON转换失败。
2.解决方案:
-
这个错误其实是因为被JSON转化的对象里的子项存在循环引用,JSON转化时其实也是一个深度拷贝的过程,但是存在循环引用的对象,JSON拷贝转化时会失败,解决方案不止一种,这里讲下我使用的方案
circular-json
: -
// 安装插件包: npm install -S circular-json // 在项目中引用: import CircularJSON from 'circular-json'// JSON格式转化: let menuNode = CircularJSON.stringify(copyNode)let nodeData = CircularJSON.parse(menuNode )