2010-04-05 78 views
0

我有这个JSON(这验证根据JSONLint):Prototypejs .evalJSON没有返回对象

[ 
{ 
    "BugCount":"2", 
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp", 
    "ErrLine":"141", 
    "BugID":"702" 
}, 
{ 
    "BugCount":"1", 
    "BugTitle":"/admin/ajax_logagreementsig.asp", 
    "ErrLine":"0", 
    "BugID":"1322" 
}, 
] 

然而,当我运行data = json.evalJSON就可以了,我得到了一些问题。 如果我运行.evalJSON(true)(清理)原型中发生错误,说“json”未定义。如果我做.evalJSON(),也会发生同样的情况。

如果我做没有圆括号的.evalJSON,那么数据只是一个空对象,并没有发生错误。

我的JSON有什么问题吗?

回答

0

我发现我的问题,这是一个愚蠢的事情。 我不小心在返回JSON的.aspx页面上留下了默认的HTML,所以在我想要评估为JSON的字符串中有一个完整的“”网页。

1

这只是一个JavaScript对象,你不必评估任何工作。

var data = [ 
{ 
    "BugCount":"2", 
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp", 
    "ErrLine":"141", 
    "BugID":"702" 
}, 
{ 
    "BugCount":"1", 
    "BugTitle":"/admin/ajax_logagreementsig.asp", 
    "ErrLine":"0", 
    "BugID":"1322" 
} 
]; 

以上将是蛮好的,你data VAR将解析为两个项目的数组。请注意,我删除了该列表中的尾随逗号,因为它会在IE中引起第三个空值项目,但在大多数其他浏览器中不会。

相关问题