實(shí)例詳解JSON取值(key是中文或者數(shù)字)方式
JSON取值(key是中文或者數(shù)字)方式詳解
先準(zhǔn)備一個(gè)json對(duì)象用于演示
var json = {'name':'zhangsan', '年齡':23, 404:'你可能迷路了'};
1.使用JS中with關(guān)鍵字
with(json) { console.log(name);//輸出:zhangsan console.log(年齡);//輸出:23 console.log(404);//輸出:404,用這種方法讀取key是數(shù)字的屬性,有問(wèn)題 }
2.最常見(jiàn)的傳統(tǒng)的讀取key
console.log(json.name);//輸出:zhangsan //key是中文也是支持的 console.log(json.年齡);//輸出:23 //key是Number類型或者String類型的數(shù)字都不能這么讀取 console.log(json.404);//報(bào)錯(cuò)
3.通用萬(wàn)能型:json['key']
console.log(json['name']);/輸出:zhangsan console.log(json['年齡']);//輸出:23 console.log(json['404']);//輸出:你可能迷路了 json[key] console.log(json[name]);/輸出:undefinded console.log(json[年齡]);//報(bào)錯(cuò) console.log(json[404]);//輸出:你可能迷路了
json處理動(dòng)態(tài)key方式
先準(zhǔn)備案例對(duì)象
var jsonArr = [ {"id": "1", "name": "A1"}, {"id": "2", "name": "A2"}, {"id": "3", "name": "A3"}, {"id": "4", "name": "A4"}, {"id": "5", "name": "A5"} ]
1.如果數(shù)據(jù)量不大,偶爾查詢一次,使用for...in遍歷
2.如果數(shù)據(jù)量大,經(jīng)常使用,建立查找表提升性能
//創(chuàng)建一個(gè)查找表函數(shù) function createLookMap(field) { var map = {};//創(chuàng)建一個(gè)空的json對(duì)象 for (var i = 0; i < jsonArr.length; i++) { var value = jsonArr[i];//將數(shù)組中的元素作為json對(duì)象的值 var key = value[field];//選取一個(gè)屬性作為新的json對(duì)象的key map[key] = value; } return map; }
總結(jié)
以上所述是小編給大家介紹的實(shí)例詳解JSON取值(key是中文或者數(shù)字)方式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript使用FileSystemObject對(duì)象寫入文本文件內(nèi)容的方法
這篇文章主要介紹了JavaScript使用FileSystemObject對(duì)象寫入文本文件內(nèi)容的方法,實(shí)例分析了javascript使用ActiveXObject的技巧與常見(jiàn)問(wèn)題的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08使用 bootstrap modal遇到的問(wèn)題小結(jié)
bootstrap提供了一個(gè)寫好的css文件和js文件然而在使用時(shí)遇到了一下并不是很好的問(wèn)題,今天在使用彈出對(duì)話框時(shí)遇到了一個(gè)這樣的問(wèn)題,今天小編給大家分享下使用 bootstrap modal遇到的問(wèn)題小結(jié),一起看看吧2016-11-11動(dòng)態(tài)加載JavaScript文件的3種方式
第一種是使用document.write/writeln()方式,第二種使用jQuery,第三種是使用原生js方法,感興趣的小伙伴們可以參考一下2018-05-05兼容低版本IE的JScript5.5實(shí)現(xiàn)
兼容低版本IE的JScript5.5實(shí)現(xiàn)...2006-09-09微信小程序頁(yè)面與組件之間信息傳遞與函數(shù)調(diào)用
不管是vue還是react中,都在強(qiáng)調(diào)組件思想,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序頁(yè)面與組件之間信息傳遞與函數(shù)調(diào)用的相關(guān)資料,需要的朋友可以參考下2021-05-05微信小程序骨架屏的應(yīng)用與實(shí)現(xiàn)步驟詳細(xì)記錄
所謂骨架屏就是在頁(yè)面數(shù)據(jù)尚未加載前先給用戶展示出頁(yè)面的大致結(jié)構(gòu),直到請(qǐng)求數(shù)據(jù)返回后再渲染頁(yè)面,補(bǔ)充進(jìn)需要顯示的數(shù)據(jù)內(nèi)容,這篇文章主要給大家介紹了關(guān)于微信小程序骨架屏的應(yīng)用與實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-05-05KnockoutJS 3.X API 第四章之事件event綁定
event綁定即為事件綁定,即當(dāng)觸發(fā)相關(guān)DOM事件的時(shí)候回調(diào)函數(shù),這篇文章主要介紹了KnockoutJS 3.X API 第四章之事件event綁定的相關(guān)知識(shí),感興趣的朋友一起看看吧2016-10-10