JSON數(shù)據(jù)格式

JSON 數(shù)據(jù)格式

?????? JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式

基礎(chǔ)結(jié)構(gòu)

JSON建構(gòu)于兩種結(jié)構(gòu):

1. “名稱/值”對(duì)的集合慈迈。

? ? ?不同的語言中,它被理解為對(duì)象(object),記錄(record)痒留,結(jié)構(gòu)(struct)谴麦,字典(dictionary),哈希表(hash table)伸头,有鍵列表(keyed list)匾效,或者關(guān)聯(lián)數(shù)組 (associative array)。

2. 值的有序列表恤磷。在大部分語言中面哼,它被理解為數(shù)組(array)。

JSON中不允許Key值重復(fù)

基礎(chǔ)示例

簡(jiǎn)單地說扫步,JSON 可以將 JavaScript 對(duì)象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串魔策,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序河胎。

表示名稱 / 值對(duì)

按照最簡(jiǎn)單的形式闯袒,可以用下面這樣的 JSON 表示 "名稱 / 值對(duì)" :{ "firstName": "Brett" }

這個(gè)示例非常基本游岳,而且實(shí)際上比等效的純文本 "名稱 / 值對(duì)" 占用更多的空間:firstName=Brett

但是政敢,當(dāng)將多個(gè)"名稱 / 值對(duì)"串在一起時(shí),JSON 就會(huì)體現(xiàn)出它的價(jià)值了胚迫。首先喷户,可以創(chuàng)建包含多個(gè)"名稱 / 值對(duì)"的 記錄,比如:

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" } = A1

從語法方面來看访锻,這與"名稱 / 值對(duì)"相比并沒有很大的優(yōu)勢(shì)摩骨,但是在這種情況下 JSON 更容易使用,而且可讀性更好朗若。例如,它明確地表示以上三個(gè)值都是同一記錄的一部分昌罩;花括號(hào)使這些值有了某種聯(lián)系哭懈。

表示數(shù)組

當(dāng)需要表示一組值時(shí),JSON 不但能夠提高可讀性茎用,而且可以減少復(fù)雜性遣总。例如,假設(shè)您希望表示一個(gè)人名列表轨功。在 XML 中旭斥,需要許多開始標(biāo)記和結(jié)束標(biāo)記;如果使用典型的 名稱 / 值 對(duì)(就像在本系列前面文章中看到的那種名稱 / 值對(duì))古涧,那么必須建立一種專有的數(shù)據(jù)格式垂券,或者將鍵名稱修改為 person1-firstName這樣的形式。

如果使用 JSON羡滑,就只需將多個(gè)帶花括號(hào)的記錄分組在一起:

eg:{“people”:[A1],[A2],[A3]

? ? ? ? ? "autors":[B1],[B2],[B3]

? ? ? ? ? ? ? -----

? ? ? ?}=B1

格式的應(yīng)用


將 JSON 數(shù)據(jù)賦值給變量

var 變量 = ?B1

訪問數(shù)據(jù)

修改JSON數(shù)據(jù)

轉(zhuǎn)換回字符串

概念比較

JSON和XML的比較

◆可讀性

JSON和XML的可讀性可謂不相上下菇爪,一邊是簡(jiǎn)易的語法算芯,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)凳宙。

◆可擴(kuò)展性

XML天生有很好的擴(kuò)展性熙揍,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展氏涩,而JSON卻不能届囚。不過JSON在Javascript主場(chǎng)作戰(zhàn),可以存儲(chǔ)Javascript復(fù)合對(duì)象是尖,有著xml不可比擬的優(yōu)勢(shì)意系。

◆編碼難度

XML有豐富的編碼工具,比如Dom4j析砸、JDom等昔字,JSON也有提供的工具。無工具的情況下首繁,相信熟練的開發(fā)人員一樣能很快的寫出想要的xml文檔和JSON字符串作郭,不過,xml文檔要多很多結(jié)構(gòu)上的字符弦疮。

◆實(shí)例比較

XML和JSON都使用結(jié)構(gòu)化方法來標(biāo)記數(shù)據(jù)夹攒,下面來做一個(gè)簡(jiǎn)單的比較。

用XML表示中國部分省市數(shù)據(jù)如下:

<?xml version="1.0" encoding="utf-8"?>

<country>

??? <name>中國</name>

??? <province>

??????? <name>黑龍江</name>

???? <cities>

??????????? <city>哈爾濱</city>

??????????? <city>大慶</city>

??????? </cities>

??? </province>

??? <province>

??????? <name>廣東</name>

??????? <cities>

??????????? <city>廣州</city>

??????????? <city>深圳</city>

??????????? <city>珠海</city>

??????? </cities>

??? </province>

</country>

用JSON表示如下:

{

{name:"中國", province:[ { name:"黑龍江", cities:{ city:["哈爾濱","大慶"] },

{name:"廣東", cities:{ city:["廣州","深圳","珠海"] }?

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胁塞,一起剝皮案震驚了整個(gè)濱河市咏尝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啸罢,老刑警劉巖编检,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扰才,居然都是意外死亡允懂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門衩匣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蕾总,“玉大人,你說我怎么就攤上這事琅捏∩伲” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵柄延,是天一觀的道長蚀浆。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么蜡坊? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任杠输,我火速辦了婚禮,結(jié)果婚禮上秕衙,老公的妹妹穿的比我還像新娘蠢甲。我一直安慰自己,他們只是感情好据忘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布鹦牛。 她就那樣靜靜地躺著,像睡著了一般勇吊。 火紅的嫁衣襯著肌膚如雪曼追。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天汉规,我揣著相機(jī)與錄音礼殊,去河邊找鬼。 笑死针史,一個(gè)胖子當(dāng)著我的面吹牛晶伦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啄枕,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼婚陪,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了频祝?” 一聲冷哼從身側(cè)響起泌参,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎常空,沒想到半個(gè)月后沽一,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漓糙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年铣缠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兼蜈。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拙友,靈堂內(nèi)的尸體忽然破棺而出为狸,到底是詐尸還是另有隱情,我是刑警寧澤遗契,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布辐棒,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏漾根。R本人自食惡果不足惜泰涂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辐怕。 院中可真熱鬧逼蒙,春花似錦、人聲如沸寄疏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陕截。三九已至驳棱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間农曲,已是汗流浹背社搅。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乳规,地道東北人形葬。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓煤裙,卻偏偏與公主長得像蹋盆,于是被迫代替她去往敵國和親惨篱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子孩擂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容