2023-3-31 前端達(dá)人
- JSON是獨(dú)立于任何編程語言的數(shù)據(jù)格式
- 是一種用于存儲和傳輸數(shù)據(jù)的輕量級格式
- 語法是自描述的,便于人類閱讀和理解
- 數(shù)組(Array)用方括號 "[]" 表示
- 對象(0bject)用大括號 "{}" 表示
- 名稱 / 值 對(name/value)組合成數(shù)組和對象
- 名稱( name )置于雙引號中,值(value)有字符串、數(shù)值、布爾值、null、對象和數(shù)組
- 并列的數(shù)據(jù)之間用逗號 "," 分隔
- 名稱/值對包括字段名稱(在雙引號中),后面寫一個冒號,然后是值
JSON.parse(str, reviver);
str
:要解析的 JSON字符串reviver
:可選的函數(shù)function(key,value)
,該函數(shù)的第一個參數(shù)和第二個參數(shù)分別代表鍵值對的鍵和值,并可以對值進(jìn)行轉(zhuǎn)換(函數(shù)返回值當(dāng)做處理后的value)
JSON.stringify(value, replacer, space)
- 如果該參數(shù)是一個函數(shù),則在序列化過程中,被序列化的值的每個屬性都會經(jīng)過該函數(shù)的轉(zhuǎn)換和處理
- 如果該參數(shù)是一個數(shù)組,則只有包含在這個數(shù)組中的屬性名才會被序列化到最終的 JSON 字符串中
- 如果該參數(shù)為 null 或者未提供,則對象所有的屬性都會被序列化
- 如果參數(shù)是個數(shù)字,它代表有多少的空格;上限為10。該值若小于1,則意味著沒有空格
- 如果該參數(shù)為字符串(當(dāng)字符串長度超過10個字母,取其前10個字母),該字符串將被作為空格
- 如果該參數(shù)沒有提供(或者為 null),將沒有空格
- 轉(zhuǎn)換值如果有
toJSON()
方法,該方法定義什么值將被序列化- 非數(shù)組對象的屬性不能保證以特定的順序出現(xiàn)在序列化后的字符串中
- 布爾值、數(shù)字、字符串的包裝對象在序列化過程中會自動轉(zhuǎn)換成對應(yīng)的原始值,undefined、任意的函數(shù)以及 symbol 值,在序列化過程中會被忽略(出現(xiàn)在非數(shù)組對象的屬性值中時)或者被轉(zhuǎn)換成 null(出現(xiàn)在數(shù)組中時)。函數(shù)、undefined 被單獨(dú)轉(zhuǎn)換時,會返回 undefined,如JSON.stringify(function(){}) or JSON.stringify(undefined)
- 對包含循環(huán)引用的對象(對象之間相互引用,形成無限循環(huán))執(zhí)行此方法,會拋出錯誤
- 所有以 symbol 為屬性鍵的屬性都會被完全忽略掉,即便 replacer 參數(shù)中強(qiáng)制指定包含了它們
- Date 日期調(diào)用了 toJSON() 將其轉(zhuǎn)換為了 string 字符串(同Date.toISOString()),因此會被當(dāng)做字符串處理
- NaN 和 Infinity 格式的數(shù)值及 null 都會被當(dāng)做 null
- 其他類型的對象,包括 Map/Set/WeakMap/WeakSet,僅會序列化可枚舉的屬性
藍(lán)藍(lán)設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請加微信ban_lanlan,報下信息,藍(lán)小助會請您入群。歡迎您加入噢~~
希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系01063334945。
分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責(zé)聲明:藍(lán)藍(lán)設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
藍(lán)藍(lán)設(shè)計( paul-jarrel.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)、UI設(shè)計公司、界面設(shè)計公司、UI設(shè)計服務(wù)公司、數(shù)據(jù)可視化設(shè)計公司、UI交互設(shè)計公司、高端網(wǎng)站設(shè)計公司、UI咨詢、用戶體驗公司、軟件界面設(shè)計公司。
藍(lán)藍(lán)設(shè)計的小編 http://paul-jarrel.com