萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> js使用eval解析json實例與注意事項分享

js使用eval解析json實例與注意事項分享

 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>
copyright © 萬盛學電腦網 all rights reserved