ylbtech-JSON: JSON 使用 |
1. 把 JSON 文本轉換爲 JavaScript 對象返回頂部 |
2. JSON 實例 - 來自字符串的對象返回頂部 |
var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe"}'
+ ',{"firstName":"Anna","lastName":"Smith"}'
+ ',{"firstName":"Peter","lastName":"Jones"}]}';
因爲 JSON 語法是 JavaScript 語法的子集,JavaScript 函數 eval() 可用於將 JSON 文件轉換爲 JavaScript 對象。html
eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,而後生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法錯誤:git
var obj = eval("(" + txt + ")");
在網頁中使用 JavaScript 對象:github
實例web
<p> 名:<span id="fname"></span><br /> 姓:<span id="lname"></span><br /> </p> <script> document.getElementById("fname").innerHTML = obj.employees[1].firstName; document.getElementById("lname").innerHTML = obj.employees[1].lastName; </script>
3. 代碼、結果返回頂部 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>示例</title> </head> <body> <h2>從 JSON 字符串中建立對象</h2> <p> 名:<span id="fname"></span><br /> 姓:<span id="lname"></span><br /> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe"}' + ',{"firstName":"Anna","lastName":"Smith"}' + ',{"firstName":"Peter","lastName":"Jones"}]}'; var obj = eval("(" + txt + ")"); document.getElementById("fname").innerHTML = obj.employees[1].firstName; document.getElementById("lname").innerHTML = obj.employees[1].lastName; </script> </body> </html>
結果瀏覽器
4. JSON 解析器返回頂部 |
Web 瀏覽器支持 | Web 軟件支持 |
Firefox(Mozilla)3.5安全 Internet Explorer 8服務器 Chrome Opera 10 Safari 4函數 |
jQuery Yahoo UIspa Prototype Dojocode ECMAScript 1.5 |
<!DOCTYPE html> <html> <body> <h2>Create Object from JSON String</h2> <p> 名:<span id="fname"></span><br /> 姓:<span id="lname"></span><br /> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe"}' + ',{"firstName":"Anna","lastName":"Smith"}' + ',{"firstName":"Peter","lastName":"Jones"}]}'; var obj = JSON.parse(txt); document.getElementById("fname").innerHTML = obj.employees[1].firstName; document.getElementById("lname").innerHTML = obj.employees[1].lastName; </script> <script> document.getElementById("fname").innerHTML = obj.employees[1].firstName; document.getElementById("lname").innerHTML = obj.employees[1].lastName; </script> </body> </html>
結果
5. 對於較老的瀏覽器,可以使用 JavaScript 庫返回頂部 |
6.返回頂部 |
7.返回頂部 |
8.返回頂部 |
9.返回頂部 |
10.返回頂部 |
11.返回頂部 |
![]() |
做者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。 |