<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
function test() {
var a = {id:12,name:"jack"}; // 简单的定义一个对象
alert(a.id);
alert(a.name);
var obj = eval("({age:26, name:'rose'})");
alert(obj.age);
alert(obj.name);
}
$(document).ready(function(){
$("p").click(function(){
test();
});
});
</script>
</head>
<body>
<p>test test</p>
</body>
</html>
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
注意一开始的时候定义var obj = eval("{age:26, name:'rose'}");,写成这样子就是不行,需要在json字符串的前后加上括号。
转:使用eval()解析JSON格式字符串应注意的问题
使用eval()解析JSON格式字符串应注意的问题
在利用javascript内置的eval函数,将json格式的字符串转换成JS对象时,需要用一对"()"先将该字符串包住.
例如:
将 var strTest="{id:\"cnlei\", url:\"http://www.cnlei.com\"}"; 转换成JS对象
正确写法:
var objTEST=eval("("+strTEST+")");
出错写法:
var objTEST=eval(strTEST);
完整测试代码:
<script type="text/javascript">
<!--
var strTEST="{id:\"cnlei\", url:\"http://www.cnlei.com\"}";
var objTEST=eval("("+strTEST+")"); //正确写法
//var objTEST=eval(strTEST); //出错写法
alert(objTEST.id+"\n"+objTEST.url);
//-->
</script>