JSON.stringify(导航器)期间超出最大调用堆栈大小

时间:2013-01-12 05:38:23

标签: javascript google-chrome

我在Navigator对象的序列化过程中遇到了RangeError。

可能是什么原因?

JSON.stringify(navigator);
RangeError: Maximum call stack size exceeded

浏览器:Chrome enter image description here

3 个答案:

答案 0 :(得分:3)

这是因为,正如错误消息所示,navigator对象太大了。

您可以像这样使用dystroy's modified JSON function

var navJSON = JSON.pruned(navigator);

返回的对象非常庞大,但几乎可以肯定它并不完全正确。如果要使用JSON传输有关navigator对象的数据,仅发送这些属性,而不是整个对象。

答案 1 :(得分:1)

为什么不将您感兴趣的特定值复制到新对象然后序列化呢?

也许它找到了导致无限循环的属性。

答案 2 :(得分:1)

也许导航器对象包含自我链接。您应该在其他对象中复制导航器并删除它们上的大链接。