使用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>