Blu*_*ire 1 javascript json eval
我以前从未使用eval()过,所以我认为我的语法非常错误.以下是什么问题:
var JSONAsString = '{"item1":"one", "item2":"two", "item3":"three"}';
var JSONAsObject = eval(JSONString);
alert(JSONAsObject.item1);
Run Code Online (Sandbox Code Playgroud)
因为它似乎不起作用 - 我加载页面没有任何反应.
是的,我知道我不应该使用eval.我假设语法JSON.parse()与eval 的语法相同......对吗?如果是,如果(在修复代码之后)我用ESON.parse替换eval,它还会做同样的事情吗?
使用eval时需要将JSON包装在():
var JSONAsString = '{"item1":"one", "item2":"two", "item3":"three"}';
var JSONAsObject = eval('(' + JSONAsString + ')');
alert(JSONAsObject.item1);
Run Code Online (Sandbox Code Playgroud)
但是,您应该JSON.parse() 从一开始就使用,而不仅仅是以后.否则,可能无效的JSON是有效的JavaScript,但在切换时可以停止工作JSON.parse.
请注意,您应该json2.js在使用时包括,JSON.*因为某些旧版浏览器没有本机JSON支持.
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |