資源描述:
《json數(shù)據(jù)格式介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、JSON是?JavaScriptObject?Notation的簡(jiǎn)稱,是一種輕量的數(shù)據(jù)表示方法。jason格式采用key:value的方式記錄數(shù)據(jù),非常直觀,比XML簡(jiǎn)潔,因而大受歡迎?介紹jason格式前,先讓我們看看XML格式。顯然,XML?得到了相當(dāng)多的關(guān)注(正面和負(fù)面的評(píng)價(jià)都有),已經(jīng)在?Ajax?應(yīng)用程序中廣泛使用:?Brett?McLaughlin?brett@newInstance.com?這里的數(shù)據(jù)與前面
2、看到的相同,但是這一次采用?XML?格式。這沒(méi)什么了不起的;這只是另一種數(shù)據(jù)格式,使我們能夠使用?XML?而不是純文本和名稱/值對(duì)。?本文討論另一種數(shù)據(jù)格式,JavaScriptObjectNotation(JSON)。JSON?看起來(lái)既熟悉又陌生。它提供了另一種選擇,選擇范圍更大總是好事情。?添加?JSON在使用名稱/值對(duì)或?XML?時(shí),實(shí)際上是使用?JavaScript?從應(yīng)用程序中取得數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)換成另一種數(shù)據(jù)格式。在這些情況下,JavaScript?在很大程度上作為一種數(shù)據(jù)操縱語(yǔ)言,用來(lái)移動(dòng)和操縱來(lái)自?Web?表單的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換為一種適合發(fā)送給服務(wù)器端程序的
3、格式。但是,有時(shí)候?JavaScript?不僅僅作為格式化語(yǔ)言使用。在這些情況下,實(shí)際上使用?JavaScript?語(yǔ)言中的對(duì)象來(lái)表示數(shù)據(jù),而不僅是將來(lái)自?Web?表單的數(shù)據(jù)放進(jìn)請(qǐng)求中。在這些情況下,從?JavaScript?對(duì)象中提取數(shù)據(jù),然后再將數(shù)據(jù)放進(jìn)名稱/值對(duì)或?XML,就有點(diǎn)兒多此一舉?了。這時(shí)就合適使用?JSON:JSON?允許輕松地將?JavaScript對(duì)象轉(zhuǎn)換成可以隨請(qǐng)求發(fā)送的數(shù)據(jù)(同步或異步都可以)。JSON?并不是某種魔彈;但是,它對(duì)于某些非常特殊的情況是很好的選擇。??JSON?基礎(chǔ)簡(jiǎn)單地說(shuō),JSON?可以將?JavaScript?對(duì)象中表示的一組數(shù)
4、據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從?Web?客戶機(jī)傳遞給服務(wù)器端程序。這個(gè)字符串看起來(lái)有點(diǎn)兒古怪(稍后會(huì)看到幾個(gè)示例),但是?JavaScript?很容易解釋它,而且?JSON?可以表示比名稱/值對(duì)更復(fù)雜的結(jié)構(gòu)。例如,可以表示數(shù)組和復(fù)雜的對(duì)象,而不僅僅是鍵和值的簡(jiǎn)單列表。?簡(jiǎn)單?JSON?示例按照最簡(jiǎn)單的形式,可以用下面這樣的?JSON?表示名稱/值對(duì):{"firstName":"Brett"}?這個(gè)示例非常基本,而且實(shí)際上比等效的純文本名稱/值對(duì)占用更多的空間:firstName=Brett?但是,當(dāng)將多個(gè)名稱/值對(duì)串
5、在一起時(shí),JSON?就會(huì)體現(xiàn)出它的價(jià)值了。首先,可以創(chuàng)建包含多個(gè)名稱/值對(duì)的記錄,比如:{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"}?從語(yǔ)法方面來(lái)看,這與名稱/值對(duì)相比并沒(méi)有很大的優(yōu)勢(shì),但是在這種情況下?JSON?更容易使用,而且可讀性更好。例如,它明確地表示以上三個(gè)值都是同一記錄的一部分;花括號(hào)使這些值有了某種聯(lián)系。值的數(shù)組當(dāng)需要表示一組值時(shí),JSON?不但能夠提高可讀性,而且可以減少?gòu)?fù)雜性。例如,假設(shè)您希望表示一個(gè)人名列表。在?XML?中,需要許多開(kāi)始標(biāo)記和結(jié)束
6、標(biāo)記;如果使用典型的名稱/值對(duì)(就像在本系列前面文章中看到的那種名稱/值對(duì)),那么必須建立一種專有的數(shù)據(jù)格式,或者將鍵名稱修改為?person1-firstName?這樣的形式。如果使用?JSON,就只需將多個(gè)帶花括號(hào)的記錄分組在一起:{"people":[?{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"},?{"firstName":"Jason","lastName":"Hunter","email":"jason@servlets.com"},?{"firstNa
7、me":"Elliotte","lastName":"Harold","email":"elharo@macfaq.com"}]}?這不難理解。在這個(gè)示例中,只有一個(gè)名為?people?的變量,值是包含三個(gè)條目的數(shù)組,每個(gè)條目是一個(gè)人的記錄,其中包含名、姓和電子郵件地址。上面的示例演示如何用括號(hào)將記錄組合成一個(gè)值。當(dāng)然,可以使用相同的語(yǔ)法表示多個(gè)值(每個(gè)值包含多個(gè)記錄):{"programmers":[?{"firstName":"Brett","lastName":"McLaughlin","email":"br