亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JSON簡介以及用法匯總

2019-11-20 10:33:34
字體:
來源:轉載
供稿:網友

JSON(JavaScript Object Notation)即JavaScript對象表示法,是一種輕量級的數據交換格式。它非常便于編程人員對數據的處理,也便于機器對數據的解析和生成,應用非常廣泛。

JSON是一種輕量級的數據交換格式,某個JSON格式的文件內部譬如可以長成這樣:

{"name": "hanzichi","sex": "male"}

看起來都是key-value的鍵值對,很像js的對象吧?沒錯,但同時JSON表示不服,我不能跟js的對象長成一樣啊,我得有我自己的個性,于是規定鍵-值對中的鍵 必須用雙引號 !同時規定鍵-值對中的值的取值有一定要求:

JSON 值可以是:

數字(整數或浮點數)
字符串( 在雙引號中 )
邏輯值(true 或 false)
數組(在方括號中)
對象(在花括號中)

null

除以上6種外,再無其他,沒有像js一樣的undefined、NAN,JSON拒絕使用。

如何使用JSON?

JSON一般以字符串的形式在數據交互過程中游走,so對于js而言,如何將json字符串和js對象之間進行相互轉換顯得尤為重要。

eval大法(json字符串 -> js對象)

var jsonStr = '{"name": "hanzichi", "sex": "male"}';var ans = eval('(' + jsonStr + ')');console.log(ans.name, ans.sex); // hanzichi male

eval 函數非???,但是它可以編譯任何 javascirpt 代碼,這樣的話就可能產生安全的問題。eval 的使用是基于傳入的代碼參數是可靠的假設下,有一些情況下,可能客戶端是不可信任的。如果基于安全的考慮的話,最好是使用一個JSON解析器,一個JSON 解析器將只接受JSON文本,所以是更安全的,如下。

JSON.parse(json字符串 -> js對象)var jsonStr = '{"name": "hanzichi", "sex": "male"}';var obj = JSON.parse(jsonStr);console.log(typeof obj, obj); // object Object {name: "hanzichi", sex: "male"}

第二個參數可以是函數,可以對值進行刪改:

var jsonStr = '{"name": "hanzichi", "sex": "male", "age": 10}';var obj = JSON.parse(jsonStr, function(key, value) {if(key === 'name') {return 'my name is ' + value;}return value;});console.log(typeof obj, obj); // object Object {name: "my name is hanzichi", sex: "male", age: 10}JSON.stringify(js對象 -> json字符串)var obj = {name: 'hanzichi', sex: 'male', age: '10'};var jsonStr = JSON.stringify(obj);console.log(jsonStr); // {"name":"hanzichi","sex":"male","age":"10"}

也可以加個參數,規定需要轉化為json字符串的屬性(數組形式,跟數組同名的js對象屬性才會被轉換):

var obj = {name: 'hanzichi', sex: 'male', age: '10'};var jsonStr = JSON.stringify(obj, ['name']);console.log(jsonStr); // {"name":"hanzichi"}

第二個參數也可以是個函數,可以刪選符合條件的屬性(或者改變屬性值,沒有return表示放棄該屬性,return的值表示該key在json字符串中的值)

var obj = {name: 'hanzichi', sex: 'male', age: '10'};var jsonStr = JSON.stringify(obj, function(key, value) {if(key === 'name') {return 'my name is ' + value;}return value;});console.log(jsonStr); // {"name":"my name is hanzichi","sex":"male","age":"10"}

還可以有第三個參數,可以是數字或者字符串。

如果是數字的話,表示縮進,數字大小超過10了按10處理。

var obj = {name: 'hanzichi', sex: 'male', age: '10'};var jsonStr = JSON.stringify(obj, null, 4);console.log(jsonStr); // {// "name": "hanzichi",// "sex": "male",// "age": "10"http:// }

也可以是字符串,會在屬性前加上這些字符串充當前綴,同樣字符串長度超過10只截取10:

var obj = {name: 'hanzichi', sex: 'male', age: '10'};var jsonStr = JSON.stringify(obj, null, 'pre');console.log(jsonStr); // {// pre"name": "hanzichi",// pre"sex": "male",// pre"age": "10"http:// }

這里我有個疑問,我覺得輸出應該是如下形式才對啊...

{"prename": "hanzichi","presex": "male","preage": "10"}

麻煩有知道的大大能傾情告訴我...

總結

當然傳說中的ie8(及以下)因為某種缺陷不能使用JSON.parse()以及JSON.stringify()方法,而eval()又顯得不安全,如果要兼容它們的話可以引用 json2.js 。

以上內容給大家介紹了JSON簡介以及用法匯總,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品国语对白| 国产偷国产偷亚洲清高网站| 成人网中文字幕| 久久久精品久久久久| 亚洲iv一区二区三区| 98精品国产高清在线xxxx天堂| 日本精品一区二区三区在线播放视频| 日韩精品在线免费| 国内精品久久久久影院优| 成人免费网站在线观看| 日韩午夜在线视频| 91日本在线视频| 亚洲激情视频在线| 精品国产福利视频| 国产丝袜精品视频| 川上优av一区二区线观看| 国产成人精品在线| 国产一区二区三区在线播放免费观看| 中文字幕国产精品| 九九热视频这里只有精品| 主播福利视频一区| 国产精品美女免费看| 亚洲人成电影在线播放| 亚洲国产精品小视频| 992tv成人免费视频| 高清欧美性猛交xxxx黑人猛交| 日韩美女免费线视频| 亚洲xxxxx| 欧美激情视频在线免费观看 欧美视频免费一| 国产亚洲精品美女| 欧美视频在线观看 亚洲欧| 欧美精品www| 日韩美女视频免费看| 97色伦亚洲国产| 国产精品爽黄69天堂a| 欧美大片免费观看在线观看网站推荐| 欧美激情视频三区| 国产精品96久久久久久| 97精品久久久| 中文字幕av一区| 宅男66日本亚洲欧美视频| 国产99在线|中文| 岛国av一区二区在线在线观看| 亚洲变态欧美另类捆绑| 国产性猛交xxxx免费看久久| 久久免费视频网站| 日本久久久久久| 久久精品成人欧美大片| 久久韩国免费视频| 不卡中文字幕av| 亚洲电影中文字幕| 亚洲人成在线一二| 亚洲人在线观看| 久久av资源网站| 久久久久久久激情视频| 精品在线欧美视频| 91色在线视频| 精品人伦一区二区三区蜜桃网站| 中文字幕亚洲字幕| 成人免费在线网址| 久久精品免费电影| 国产91色在线|| 揄拍成人国产精品视频| 久久久久久久一区二区三区| 亚洲另类图片色| 日韩av高清不卡| 狠狠爱在线视频一区| 九九久久久久99精品| 国产精品久久av| 欧洲精品毛片网站| 亚洲尤物视频网| 欧美成人免费视频| 日韩亚洲精品电影| 国产精品av在线播放| 日韩美女视频免费看| 欧美在线一区二区视频| 中文在线资源观看视频网站免费不卡| 亚洲国产精品99| 国自产精品手机在线观看视频| 欧美综合激情网| 国产亚洲美女久久| 欧美怡红院视频一区二区三区| 久久久国产精品x99av| 国产成人精品久久亚洲高清不卡| 欧美性jizz18性欧美| 在线播放国产一区中文字幕剧情欧美| 欧美日韩性视频在线| 亚洲一区二区三区xxx视频| 欧美另类69精品久久久久9999| 国产日韩欧美视频在线| 日韩国产精品亚洲а∨天堂免| 欧美日韩国产专区| 亚洲色图色老头| 永久免费毛片在线播放不卡| 国产精品一区专区欧美日韩| 欧美极品欧美精品欧美视频| 中文.日本.精品| 久久精品国产一区二区电影| 欧美日韩成人在线播放| 91久久精品视频| 国产高清视频一区三区| 久久久av一区| 日韩人在线观看| 亚洲欧美色婷婷| 亚洲片在线资源| 这里精品视频免费| 九色91av视频| 55夜色66夜色国产精品视频| 欧美成人免费在线视频| 久久福利网址导航| 日本精品性网站在线观看| 在线观看日韩av| 精品一区二区三区四区| 久久中文字幕在线| 欧美日韩国产精品一区二区不卡中文| 亚洲国产精品福利| 欧美成人久久久| 粉嫩av一区二区三区免费野| 26uuu亚洲伊人春色| 国产成人免费av电影| 亚洲第一综合天堂另类专| 日韩精品日韩在线观看| 日韩成人av在线播放| 日韩精品中文字幕在线| 欧美精品在线播放| 国产一级揄自揄精品视频| 日韩亚洲第一页| 2025国产精品视频| 97视频在线观看成人| 欧美精品制服第一页| 日韩av在线网页| 亚洲欧美激情另类校园| 国产精品高潮呻吟久久av野狼| 日韩av在线一区二区| 亚洲a在线观看| 欧美性xxxxxx| 欧美激情一区二区三区在线视频观看| 欧美日韩国产二区| 国产精品自拍小视频| 欧美大片免费观看| 欧美日韩综合视频| 国产成人自拍视频在线观看| 国产91精品视频在线观看| 欧美性黄网官网| 国产亚洲a∨片在线观看| 亚洲一区二区三区久久| 永久免费毛片在线播放不卡| 久久99久久99精品免观看粉嫩| 91超碰中文字幕久久精品| 亚洲性69xxxbbb| 欧美激情免费在线| 国内精品一区二区三区四区| 国产精品欧美激情| 九九热在线精品视频| 日韩美女免费视频| 亚洲精品美女在线观看播放| 国产欧美日韩免费看aⅴ视频| 国内精品美女av在线播放| 另类图片亚洲另类| 一区二区三区视频免费| 成人a在线观看| 欧美日韩国产一区中文午夜| 欧美成人免费网| 欧美刺激性大交免费视频|