最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中的JSON 中文版翻譯

 更新時間:2009年10月31日 22:37:08   作者:  
JSON是JavaScript面向?qū)ο笳Z法的一個子集。由于JSON是JavaScript的一個子集,因此它可清晰的運用于此語言中。
大家看可以先看下面的例子

JavaScript這種編程語言首要的目的是為Netscape Navigator提供一種頁面腳本語言。它仍被普遍的認為是Java的一個子集,但事實并非如此。它是一種語法類似c語言并且支持面向?qū)ο蟮腟cheme-like語言。JavaScript使用了ECMAScript語言規(guī)范第三版進行了標(biāo)準(zhǔn)化。

JSON是JavaScript面向?qū)ο笳Z法的一個子集。由于JSON是JavaScript的一個子集,因此它可清晰的運用于此語言中。
復(fù)制代碼 代碼如下:

var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};

上面的示例,創(chuàng)建了一個包括單獨成員”bindings”的對象,此成員包括一個含有三個對象(”ircEvent”, “method”, 與 “regex”)的數(shù)組
成員可以通過.或者下標(biāo)操作符檢索。
復(fù)制代碼 代碼如下:

myJSONObject.bindings[0].method // "newURI"

為了將JSON文本轉(zhuǎn)換為對象,可以使用eval()函數(shù)。eval()函數(shù)調(diào)用JavaScript編輯器。由于JSON是JavaScript的子集,因此編譯器將正確的解析文本并產(chǎn)生對象結(jié)構(gòu)。文本必須括在括號中避免產(chǎn)生JavaScript的語法歧義。
復(fù)制代碼 代碼如下:

var myObject = eval('(' + myJSONtext + ')');

eval函數(shù)非常快速。它可以編譯執(zhí)行任何JavaScript程序,因此產(chǎn)生了安全性問題。當(dāng)使用可信任與完善的源代碼時才可以使用eval函數(shù)。這樣可以更安全的使用JSON解析器。使用XMLHttpRequest的web應(yīng)用,頁面之間的通訊只允許同源,因此是可以信任的。但這卻不是完善的。如果服務(wù)器沒有嚴(yán)謹(jǐn)?shù)腏SON編碼,或者沒有嚴(yán)格的輸入驗證,那么可能傳送包括危險腳本的無效JSON文本。eval函數(shù)將執(zhí)行惡意的腳本。
使用JSON解析器可以防止此類事件。JSON解析器只能辨識JSON文本,拒絕所有腳本。提供了本地JSON支持的瀏覽器的JSON解析器將遠快于eval函數(shù)。預(yù)計未來的ECMAScript標(biāo)準(zhǔn)將支持本地JSON。
復(fù)制代碼 代碼如下:

var myObject = JSON.parse(myJSONtext, reviver);

一個替換函數(shù)(reviver function)做為可選參數(shù)被最終結(jié)果的每一級的鍵(key)與值(value)調(diào)用。 每個值都將被替換函數(shù)的值代替。這可以用來將一般的類改變成偽類的實例,或者將日期字符串轉(zhuǎn)變?yōu)槿掌趯ο蟆?
復(fù)制代碼 代碼如下:

myData = JSON.parse(text, function (key, value) {
var type;
if (value && typeof value === 'object') {
type = value.type;
if (typeof type === 'string' && typeof window[type] === 'function') {
return new (window[type])(value);
}
}
return value;
});

JSON stringifier進行反向操作,可以把JavaScript數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON文本。JSON不支持循環(huán)數(shù)據(jù)結(jié)構(gòu),因此應(yīng)小心不要為JSON stringifier提供循環(huán)結(jié)構(gòu)。
復(fù)制代碼 代碼如下:

var myJSONText = JSON.stringify(myObject, replacer);

如果stringify函數(shù)發(fā)現(xiàn)一個帶有toJSON方法的對象,它將執(zhí)行此方法,并且返回產(chǎn)生的值。這樣一個對象就可以決定自己的JSON表現(xiàn)。
stringifier方法可以攜帶一個可選的字符串?dāng)?shù)組。這些字符串被用于選擇包括在JSON文本中的屬性。
stringifier方法可以攜帶一個可選的替代(replacer)函數(shù)。它將在結(jié)構(gòu)中每個值的toJSON方法(如果有的話)后面執(zhí)行。它將每個鍵與值做為參數(shù)傳遞,當(dāng)然對象要包含這個鍵。返回值將被字符串化。
如果沒有提供數(shù)組或替代函數(shù),一個用于忽略被集成的屬性的可選替代函數(shù)將被提供。如果想要所有被繼承的屬性,可以提供一個簡單的替換函數(shù):
復(fù)制代碼 代碼如下:

var myJSONText = JSON.stringify(myObject, function (key, value) {
return value;
});

對于在JSON中沒有表達的值(如函數(shù)與undefined)是排除在外的。
不能確定的數(shù)量將被替換為null。為了替代其它的值,可以像下面一樣使用替換(replacer)函數(shù)
復(fù)制代碼 代碼如下:

function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}

開放源代碼的JSON解析器與JSON stringifier可以使用。通過minified可以小于2.5K。

相關(guān)文章

  • 詳解JSON1:使用TSQL查詢數(shù)據(jù)和更新JSON數(shù)據(jù)

    詳解JSON1:使用TSQL查詢數(shù)據(jù)和更新JSON數(shù)據(jù)

    這篇文章主要介紹了使用TSQL查詢數(shù)據(jù)和更新JSON數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • 父子窗體間傳遞JSON格式的數(shù)據(jù)的代碼

    父子窗體間傳遞JSON格式的數(shù)據(jù)的代碼

    在開發(fā)的項目中,遇到這樣一個例子:當(dāng)用戶選擇某一個用戶名時,彈出當(dāng)前用戶的評分卷,該評分卷列出了所有一級評分項,讓用戶進行評分操作。
    2010-12-12
  • json 介紹 js簡單實例

    json 介紹 js簡單實例

    json全稱是JavaScript Object Notation(javaScript對象符號)。JSON是一種結(jié)構(gòu)化的,輕量級的,完全獨立于語言的.基于文本的數(shù)據(jù)傳輸格式,在許多場合下用來替代xml文件格式。
    2009-12-12
  • JSON 學(xué)習(xí)之JSON in JavaScript詳細使用說明

    JSON 學(xué)習(xí)之JSON in JavaScript詳細使用說明

    只需要在前臺頁面中引入相應(yīng)的javascript即可測試
    2010-02-02
  • JavaScript 解析Json字符串的性能比較分析代碼

    JavaScript 解析Json字符串的性能比較分析代碼

    我們在使用AJAX來做服務(wù)器端和客戶端交互的時候,一般的做法是讓服務(wù)器端返回一段JSON字符串,然后在客戶端把它解析成JavaScript對象。
    2009-12-12
  • JSON取值前判斷

    JSON取值前判斷

    這篇文章主要介紹了JSON取值前判斷,需要的朋友可以參考下
    2014-12-12
  • 用JSON做數(shù)據(jù)傳輸格式中的一些問題總結(jié)

    用JSON做數(shù)據(jù)傳輸格式中的一些問題總結(jié)

    Json 憑借其自身的優(yōu)勢,在Web數(shù)據(jù)處理方面已經(jīng)占據(jù)了一定的位置,這段時間涉及到用Json做為數(shù)據(jù)傳輸格式的項目有3個,其中有部分頁面就采用了Json 數(shù)據(jù)傳輸格式, 這里我總結(jié)下這段時間采用這種方式的一些問題總結(jié)
    2011-12-12
  • json編寫簡單一例

    json編寫簡單一例

    主要是了解一下json的簡單寫法與應(yīng)用,方便想學(xué)習(xí)json的朋友
    2008-08-08
  • JSONP 跨域共享信息

    JSONP 跨域共享信息

    JSONP(JSON with Padding)是資料格式 JSON 的一種“使用模式”,可以讓網(wǎng)頁從別的網(wǎng)域要資料。另一個解決這個問題的新方法是跨來源資源共享
    2012-08-08
  • json 實例詳細說明教程

    json 實例詳細說明教程

    這是個人在最近使用json時做的總結(jié),拿出來給沒接觸過的小弟們曬曬,適用與沒接觸過json的人員,其中json2。js請到j(luò)son官網(wǎng)下載。
    2009-10-10

最新評論

白山市| 东乡县| 义乌市| 天镇县| 娄烦县| 霍林郭勒市| 将乐县| 鱼台县| 边坝县| 宝丰县| 中阳县| 新竹县| 封丘县| 科尔| 博白县| 莒南县| 九龙县| 余江县| 股票| 房产| 津市市| 南涧| 鄂伦春自治旗| 舞阳县| 双桥区| 铁力市| 吴川市| 乐山市| 大厂| 桓台县| 天门市| 剑川县| 永善县| 兴仁县| 靖远县| 金山区| 罗城| 金塔县| 历史| 宁都县| 迁安市|