JSON.stringify(value)无法处理更大的值。它会导致“堆栈溢出”错误。有解决方法吗?
json2.js来自https://github.com/douglascrockford/JSON-js
我通过cscript.exe(WSH)在Windows DOS上运行我的JavaScript程序,这是Windows 7和Windows 8上的JScript v5.8。
我无法找到使用JScript v5.8中内置JSON的方法。 所以我包括json2.js,它的工作原理! 它工作但不是很好。当mydata只是一个更大的结构时,JSON.stringify(mydata)生成“堆栈溢出”。
我包含json2.js的方式是: 打开json2.js,将整个json2.js读入字符串ss,eval(ss)。然后JSON就可以使用了。
顺便说一句,我在cscript.exe JScript v5.8中看不到JSON,如何启用它?
答案 0 :(得分:1)
通过WScript / CScript提供的脚本引擎是IE7中使用的脚本引擎 - 因此没有您已经找到的JSON对象(并且无法以某种方式“启用”它)。
堆栈溢出的最可能原因是尝试序列化递归结构而不是正确的树。我不相信JSON2.js支持这种情况。具有自引用的简单结构如下(正常JSON.stringify
失败)
var node = { a:"text"};
node.next = node;