有没有人用过这个并让它工作?我遇到了真正的问题,因为它告诉我有一个 JScript 错误,我不知道如何修复它。
此处的链接是为了了解该产品的一些背景,但它是经典 asp 的 JSON 解析器。 使用 ASP Xtreme Evolution 迭代 JSON 返回
我确定前几天我有这个工作,但现在我回来了,它抛出了一个 JScript 错误,我现在似乎无法让它工作。
所以,我将 JSON 发布到一个经典的 asp 页面,这是我用来包含所有教程中指示的 json2.asp 页面的代码:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="json2.asp"-->"%>
<% 'json processing details here..
它抛出的错误在 json2.asp 的一行上,它是一个 JScript 错误。这是确切的错误:
Microsoft JScript compilation error '800a03ea'
Line 765 json2.asp
我相信这是 Crockfords json2.js 的一个版本,我认为它在 asp 页面中的原因是它可以使用 JScript,但对我来说并没有进步。有人知道我在说什么可以在我把头发都扯掉之前帮助我吗?!
如果您需要更多信息,请告诉我 - 非常感谢
更新
这是第 765 行(在评论之间)
if (/^[\],:{}\s]*$/.
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
// In the third stage we use the eval function to compile the text into a
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
// in JavaScript: it can begin a block or an object literal. We wrap the text
// in parens to eliminate the ambiguity.
j = eval('(' + text + ')');
// In the optional fourth stage, we recursively walk the new structure, passing
// each name/value pair to a reviver function for possible transformation.
return typeof reviver === 'function' ?
walk({'': j}, '') : j;
}