public class Parent
{
public string Name{get;set}
publict List<Parent> Children{get;set;}
}
如上,这是一个自己引用自己的类,如果把这种类组成的数组传到前台然后JSON.parse(JSON.stringify(对象数组))的话,就会报错TypeError: Converting circular structure to JSON.
解决办法如下:
//假设对象数组为data1
var cache = [];
var copyData=JSON.stringify(data1, function(key, value) {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
// Circular reference found, discard key
return;
}
// Store value in our collection
cache.push(value);
}
return value;
});
cache = null;
这样就可以深度复制出这个数组了。