问题
使用JSON.stringify序列化对象时报错。

分析
原因
- 存在自己引用自己的情况
解决办法
不太建议用以下方法来解决,除非特殊情况。在做参数化的过程中会发现存在对象的情况,自己构造的对象还好,当引用第三方库的对象做序列化的时候,就不建议这么做。需要做的是将这些对象提取出来,构造一个没有自己引用自己的对象。
var cache = [];
var aa = JSON.stringify(rowData, function(key, value) {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
return;
}
cache.push(value);
}
return value;
});
cache = null;

本文介绍了解决JSON.stringify序列化对象时出现的循环引用问题。通过一个具体的示例代码片段展示了如何避免循环引用的发生,即创建一个缓存数组来跟踪已序列化的对象。
1762

被折叠的 条评论
为什么被折叠?



