JSON

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

JSON 格式(JavaScript Object Notation 的縮寫)是一種用于數(shù)據(jù)交換的文本格式,2001年由 Douglas Crockford提出浪册,目的是代替繁瑣笨重的XML格式费彼。

JSON 是一種語法用來序列化對象勾徽、數(shù)組、數(shù)值、字符串非春、布爾值和 null 袁勺。它基于 JavaScript 語法雹食,但與之不同:JavaScript不是JSON,JSON也不是JavaScript期丰。

每個 JSON 對象群叶,就是一個值。JSON 對值的類型和格式有嚴(yán)格的規(guī)定:

  • 復(fù)合類型的值只能是數(shù)組或?qū)ο蠖鄣矗荒苁呛瘮?shù)街立、正則表達(dá)式對象、日期對象埠通。

  • 簡單類型的值只有四種:字符串赎离、數(shù)值(必須以十進(jìn)制表示)、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)端辱。

  • 字符串必須使用雙引號表示梁剔,不能使用單引號。

  • 對象的鍵名必須放在雙引號里面舞蔽。

  • 數(shù)組或?qū)ο笞詈笠粋€成員的后面憾朴,不能加逗號。

  • 前導(dǎo)零是禁止的(在 JSON.stringify 零將被忽略喷鸽,但在 JSON.parse 它將拋出 SyntaxError)众雷;小數(shù)點(diǎn)后必須至少有一位數(shù)字。

JSON格式數(shù)據(jù)如何表示對象

JSON對象是一個無序的「鍵-值」集合做祝,對象的鍵名必須用雙引號包裹砾省,最后一個成員后面不能加逗號。

以下三種寫法都可以表示對象:

{}

{"key1": "value1"} // string 對應(yīng) "key1"混槐,value 對應(yīng) "value1"

{"key1": "value1", "key2": "value2"}

window.JSON

window.JSON是瀏覽器的內(nèi)置對象(本地化的JSON對象)编兄,用來檢測對JSON的支持情況。

如果在舊的瀏覽器中使用JSON声登,需要JavaScript庫狠鸳。在JavaScript中執(zhí)行解析和序列化效率往往不高揣苏,所以為了提高執(zhí)行速度,現(xiàn)在新的瀏覽器原生擴(kuò)展了對JSON的支持件舵,可以直接通過JavaScript來調(diào)用JSON了卸察。這種本地化的JSON對象被納入了ECMAScript 5標(biāo)準(zhǔn),成為了下一代JavaScript語言的一部分铅祸。

把JSON 格式的字符串轉(zhuǎn)換為 JS 對象

JSON.parse方法用于將JSON字符串轉(zhuǎn)化成對象坑质,如果傳入的字符串不是有效的JSON格式,JSON.parse方法將報錯临梗。

把 JS對象轉(zhuǎn)換為 JSON 格式的字符串

JSON.stringify方法用于將一個值轉(zhuǎn)為字符串涡扼。該字符串符合 JSON 格式,并且可以被JSON.parse方法還原盟庞。

需要注意的是:

  • 對于原始類型的字符串吃沪,轉(zhuǎn)換結(jié)果會帶雙引號
  • 如果原始對象中,有一個成員的值是undefined什猖、函數(shù)或 XML 對象票彪,這個成員會被過濾。
  • 如果數(shù)組的成員是undefined卸伞、函數(shù)或 XML 對象抹镊,則這些值被轉(zhuǎn)成null
  • 正則對象會被轉(zhuǎn)成空對象
  • JSON.stringify方法會忽略對象的不可遍歷屬性锉屈。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荤傲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颈渊,更是在濱河造成了極大的恐慌遂黍,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊嗽,死亡現(xiàn)場離奇詭異雾家,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绍豁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門芯咧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竹揍,你說我怎么就攤上這事敬飒。” “怎么了芬位?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵无拗,是天一觀的道長。 經(jīng)常有香客問我昧碉,道長英染,這世上最難降的妖魔是什么揽惹? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮四康,結(jié)果婚禮上搪搏,老公的妹妹穿的比我還像新娘。我一直安慰自己箭养,他們只是感情好慕嚷,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著毕泌,像睡著了一般喝检。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上撼泛,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天挠说,我揣著相機(jī)與錄音,去河邊找鬼愿题。 笑死损俭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的潘酗。 我是一名探鬼主播杆兵,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼仔夺!你這毒婦竟也來了琐脏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤缸兔,失蹤者是張志新(化名)和其女友劉穎日裙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惰蜜,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡昂拂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了抛猖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片格侯。...
    茶點(diǎn)故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖财著,靈堂內(nèi)的尸體忽然破棺而出联四,到底是詐尸還是另有隱情,我是刑警寧澤瓢宦,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布碎连,位于F島的核電站,受9級特大地震影響驮履,放射性物質(zhì)發(fā)生泄漏鱼辙。R本人自食惡果不足惜廉嚼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望倒戏。 院中可真熱鬧怠噪,春花似錦、人聲如沸杜跷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽葛闷。三九已至憋槐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淑趾,已是汗流浹背阳仔。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扣泊,地道東北人近范。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像延蟹,于是被迫代替她去往敵國和親评矩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評論 2 361

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

  • 引言 曾經(jīng)有一段時間阱飘,XML是互聯(lián)網(wǎng)上傳輸結(jié)構(gòu)化數(shù)據(jù)的事實標(biāo)準(zhǔn)斥杜。Web服務(wù)的第一次浪潮很大程度上都是建立在XML之...
    DHFE閱讀 630評論 0 0
  • 0、對于 HTTP 協(xié)議而言俯萌,HTML果录、CSS上枕、JS咐熙、JSON 的本質(zhì)都是什么? HTML就是符合HTML語法的字...
    怎么昵稱閱讀 1,607評論 0 3
  • 轉(zhuǎn)自http://www.cnblogs.com/mcgrady/archive/2013/06/08/31277...
    WangYatao閱讀 6,571評論 1 4
  • 大家好~ 我是一枚正直純潔的苦逼程序員Wζ!@场Jζ椤! 1.背景介紹 什么是JSON JSON (JavaScript ...
    Meetin空白閱讀 6,575評論 1 1
  • 使用數(shù)組拼接出如下字符串 椅棺,其中styles數(shù)組里的個數(shù)不定 寫出兩種以上聲明多行字符串的方法 例如: 補(bǔ)全如下代...
    Tuuu閱讀 198評論 0 0