當前位置:
首頁 > 知識 > JSON 使用

JSON 使用

把 JSON 文本轉換為 JavaScript 對象

JSON 最常見的用法之一,是從 web 伺服器上讀取 JSON 數據(作為文件或作為 HttpRequest),將 JSON 數據轉換為 JavaScript 對象,然後在網頁中使用該數據。

為了更簡單地為您講解,我們使用字元串作為輸入進行演示(而不是文件)。


JSON 實例 - 來自字元串的對象

創建包含 JSON 語法的 JavaScript 字元串:

vartxt = "{ "sites" : [" +"{ "name":"菜鳥教程" , "url":"www.runoob.com" }," +"{ "name":"google" , "url":"www.google.com" }," +"{ "name":"微博" , "url":"www.weibo.com" } ]}";

由於 JSON 語法是 JavaScript 語法的子集,JavaScript 函數 eval() 可用於將 JSON 文本轉換為 JavaScript 對象。

eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然後生成 JavaScript 對象。必須把文本包圍在括弧中,這樣才能避免語法錯誤:

var obj = eval ("(" + txt + ")");

在網頁中使用 JavaScript 對象:

實例

vartxt = "{ "sites" : [" +"{ "name":"菜鳥教程" , "url":"www.runoob.com" }," +"{ "name":"google" , "url":"www.google.com" }," +"{ "name":"微博" , "url":"www.weibo.com" } ]}";
varobj = eval("(" + txt + ")");
document.getElementById("name").innerHTML=obj.sites[0].namedocument.getElementById("url").innerHTML=obj.sites[0].url

嘗試一下 ?



JSON 解析器

JSON 使用

eval() 函數可編譯並執行任何 JavaScript 代碼。這隱藏了一個潛在的安全問題。

使用 JSON 解析器將 JSON 轉換為 JavaScript 對象是更安全的做法。JSON 解析器只能識別 JSON 文本,而不會編譯腳本。

在瀏覽器中,這提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。

較新的瀏覽器和最新的 ECMAScript (JavaScript) 標準中均包含了原生的對 JSON 的支持。


Web 瀏覽器支持 Web 軟體支持

  • Firefox (Mozilla) 3.5

  • Internet Explorer 8

  • Chrome

  • Opera 10

  • Safari 4

  • jQuery

  • Yahoo UI

  • Prototype

  • Dojo

  • ECMAScript 1.5

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

jQuery UI 為什麼使用部件庫(Widget Factory)
AJAX 實例

TAG:程序員小新人學習 |