1

有没有人用过这个并让它工作?我遇到了真正的问题,因为它告诉我有一个 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;
}
4

1 回答 1

0

你没有包括正确的东西。您需要整个库可用并包含以下文件(适当更改路径)。

<!-- #include file="includes/extlib/axe/base.asp" -->
<!-- #include file="includes/extlib/axe/classes/Parsers/json.class.asp" -->

然后要实际使用,您可以执行以下操作:

set oJson = new Json
oJson.loadJson(strJSON)

strSomething = oJson.getElement("theElement")

set oJson = nothing

所有这些都取自工作代码。

于 2013-06-07T15:39:54.277 回答