您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

js使用eval解析json实例与注意事项分享

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 eval函数在js中有不少用处了,下面我来给各位朋友介绍eval解析json的实例,基于这个实例我们引出来在eval处理json数据时的一些注意事项,希望文章对各位同学会有所帮助

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔   先来看个解析实例   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html>  <head>   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />   <title>eval函数解析json对象</title>    </head>  <body>   <script type="text/javascript">   var json=eval("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12, 0, 0)})");   document.write(json.sitename);    document.write("<br />");    document.write(json.sitedate);    </script>  </body> </html>     eval()解析JSON格式字符串应注意的问题 使用eval()解析JSON格式字符串应注意的问题 在利用javascript内置的eval函数,将json格式的字符串转换成JS对象时,需要用一对"()"先将该字符串包住. 例如: 将 var strTest="{id:"cnlei", url:"http://www.jb51.net"}"; 转换成JS对象 正确写法: var objTEST=eval("("+strTEST+")");  出错写法: var objTEST=eval(strTEST);   完整测试代码:     代码如下: <script type="text/javascript"> <!--     var strTEST="{id:"cnlei", url:"http://www.jb51.net"}";     var objTEST=eval("("+strTEST+")"); //正确写法     //var objTEST=eval(strTEST); //出错写法     alert(objTEST.id+"n"+objTEST.url); //--> </script>