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>