W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
JSON 最常見(jiàn)的用法之一,是從 web 服務(wù)器上讀取 JSON 數(shù)據(jù)(作為文件或作為 HttpRequest),將 JSON 數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對(duì)象,然后在網(wǎng)頁(yè)中使用該數(shù)據(jù)。
為了更簡(jiǎn)單地為您講解,我們使用字符串作為輸入進(jìn)行演示(而不是文件)。
創(chuàng)建包含 JSON 語(yǔ)法的 JavaScript 字符串:
var txt = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
由于 JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象。
eval() 函數(shù)使用的是 JavaScript 編譯器,可解析 JSON 文本,然后生成 JavaScript 對(duì)象。必須把文本包圍在括號(hào)中,這樣才能避免語(yǔ)法錯(cuò)誤:
var obj = eval ("(" + txt + ")");
在網(wǎng)頁(yè)中使用 JavaScript 對(duì)象:
eval() 函數(shù)可編譯并執(zhí)行任何 JavaScript 代碼。這隱藏了一個(gè)潛在的安全問(wèn)題。
使用 JSON 解析器將 JSON 轉(zhuǎn)換為 JavaScript 對(duì)象是更安全的做法。JSON 解析器只能識(shí)別 JSON 文本,而不會(huì)編譯腳本。
在瀏覽器中,這提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
較新的瀏覽器和最新的 ECMAScript (JavaScript) 標(biāo)準(zhǔn)中均包含了原生的對(duì) JSON 的支持。
Web 瀏覽器支持 | Web 軟件支持 |
---|---|
|
|
對(duì)于較老的瀏覽器,可使用 JavaScript 庫(kù): https://github.com/douglascrockford/JSON-js
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: