您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關js如何獲取json中key所對應的value值?,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
實例如下:
<script type="text/javascript"> getJson('age'); function getJson(key){ var jsonObj={"name":"傅紅雪","age":"24","profession":"刺客"}; //1、使用eval方法 var eValue=eval('jsonObj.'+key); alert(eValue); //2、遍歷Json串獲取其屬性 for(var item in jsonObj){ if(item==key){ //item 表示Json串中的屬性,如'name' var jValue=jsonObj[item];//key所對應的value alert(jValue); } } //3、直接獲取 alert(jsonObj[''+key+'']); } </script>
通過上邊三種方法就可以取到json中key對應的值
用js方式取得接口里面json數據的key和value值
大家在實際操作中難免遇到對接口的問題,想必對一些小白來說取得里面想要是數據也是很是頭疼,那么接下來我會結合接口實際情況教大家怎么取得里面相應的數據
接口數據例如:(數據為 模擬數據,json格式)
{ "month": { "monthly": ["2018年4月", "2018年5月"] }, "nameAndRateOperation": { "濟南華陽炭素有限公司": ["91.67", "91.67"], "濟南萬瑞炭素有限責任公司": ["84", "84"], "濟南龍山炭素有限公司": ["85.71", "85.71"], "德州歐萊恩永興碳素有限公司": ["70", "80"], "德州永興碳素有限公司": ["90", "90"], "德州乾海碳素有限公司": ["70", "75"], "濟南海川投資集團有限公司": ["81.25", "81.25"], "濟南匯豐炭素有限公司": ["86", "86"], "山東金利達碳素有限公司": ["86.68", "80"], "濟南澳海炭素有限公司": ["85", "85"] }, "nameAndYield": { "濟南華陽炭素有限公司": ["1.2", "1.2"], "濟南萬瑞炭素有限責任公司": ["4", "4"], "濟南龍山炭素有限公司": ["2.4", "2.4"], "德州歐萊恩永興碳素有限公司": ["0.8", "1"], "德州永興碳素有限公司": ["0.67", "0.5"], "德州乾海碳素有限公司": ["0.2", "0.25"], "濟南海川投資集團有限公司": ["1.6", "1.6"], "濟南匯豐炭素有限公司": ["0.8", "0.8"], "山東金利達碳素有限公司": ["2", "2.5"], "濟南澳海炭素有限公司": ["4.33", "4.5"] }, "nameAndDateTime": { "濟南華陽炭素有限公司": ["2018年4月", "2018年5月"], "濟南萬瑞炭素有限責任公司": ["2018年4月", "2018年5月"], "濟南龍山炭素有限公司": ["2018年4月", "2018年5月"], "德州歐萊恩永興碳素有限公司": ["2018年4月", "2018年5月"], "德州永興碳素有限公司": ["2018年4月", "2018年5月"], "德州乾海碳素有限公司": ["2018年4月", "2018年5月"], "濟南海川投資集團有限公司": ["2018年4月", "2018年5月"], "濟南匯豐炭素有限公司": ["2018年4月", "2018年5月"], "山東金利達碳素有限公司": ["2018年4月", "2018年5月"], "濟南澳海炭素有限公司": ["2018年4月", "2018年5月"] }, "regionAndCompany": { "華東": ["德州歐萊恩永興碳素有限公司", "德州乾海碳素有限公司", "德州永興碳素有限公司", "山東金利達碳素有限公司", "濟南澳海炭素有限公司", "濟南海川投資集團有限公司", "濟南華陽炭素有限公司", "濟南匯豐炭素有限公司", "濟南龍山炭素有限公司", "濟南萬瑞炭素有限責任公司"] }, "nameAndCapacity": { "濟南華陽炭素有限公司": ["6", "6"], "濟南萬瑞炭素有限責任公司": ["5", "5"], "濟南龍山炭素有限公司": ["7", "7"], "德州歐萊恩永興碳素有限公司": ["30", "30"], "德州永興碳素有限公司": ["20", "20"], "德州乾海碳素有限公司": ["20", "20"], "濟南海川投資集團有限公司": ["8", "8"], "濟南匯豐炭素有限公司": ["10", "10"], "山東金利達碳素有限公司": ["15", "15"], "濟南澳海炭素有限公司": ["10", "10"] }, "storageWithCompany": { "濟南華陽炭素有限公司": ["0.8", "0.8"], "濟南萬瑞炭素有限責任公司": ["3.2", "3.2"], "濟南龍山炭素有限公司": ["2.2", "2.2"], "德州歐萊恩永興碳素有限公司": ["1.2", "1.2"], "德州永興碳素有限公司": ["0.5", "0.5"], "德州乾海碳素有限公司": ["0.15", "0.15"], "濟南海川投資集團有限公司": ["1", "1"], "濟南匯豐炭素有限公司": ["0.5", "1"], "山東金利達碳素有限公司": ["1.5", "1.5"], "濟南澳海炭素有限公司": ["2.5", "2.5"] } } json數據
獲取代碼
//取出來所有的地區:華南華北.... for (var key in data.regionAndCompany) { region.push(key); } // console.log(region) //接口取出來的倉儲的數組 for (key in data.storageWithCompany) { storageWithCompany.push(data.storageWithCompany[key]) } // console.log(storageWithCompany) // //接口取出來的產能的數組 // for(key in data.nameAndCapacity){ // capacity.push(data.nameAndCapacity[key]) // } // // console.log(capacity) //接口取出來的開工率的數組 for (key in data.nameAndRateOperation) { rateOperation.push(data.nameAndRateOperation[key]) } // console.log(rateOperation) //全部的公司名字 for (key in data.nameAndRateOperation) { companyRateOperation.push(key); } // console.log(companyRateOperation) //全部的時間數據,二維數組 for (var key in data.nameAndDateTime) { date.push(data.nameAndDateTime[key]) } // console.log(date) //全部的產量數組,二維,每個公司的產量是一個數組 for (var key in data.nameAndYield) { yield.push(data.nameAndYield[key]) } // console.log(yield)
再放上網上的方法
js中獲取object類型里鍵值的方法
最近遇到一個問題:
var obj = {"name1":"張三","name2":"李四"};
var key = "name1";
var value = obj.key;//得到了"undefined"
value = obj.name1;//得到了"張三"
其實我是想動態給key賦值,然后得到key為多少所對就的值。但這種做法行不通,obj.key會去找obj下key為"key"所對應的值,結果當然是找不到嘍。
于是,我想到了js中遍歷對象屬性的方法:
function printObject(obj){ //obj = {"cid":"C0","ctext":"區縣"}; var temp = ""; for(var i in obj){//用javascript的for/in循環遍歷對象的屬性 temp += i+":"+obj[i]+"\n"; } alert(temp);//結果:cid:C0 \n ctext:區縣 }
這樣,就可以清楚的知道js中一個對象的key和value分別是什么了。
回到剛才的問題,怎么動態給key賦值,然后以obj.key的方式得到對應的value呢?
其實以上printObject中有提示,那就是用obj[key]的方法,key可以是動態的,這樣就解決了我上面提出的問題了。
最后說一下,還有一個方法也可以,那就是:eval("obj."+key)。
總結:
js中想根據動態key得到某對象中相對應的value的方法有二:
一、var key = "name1";var value = obj[key];
二、var key = "name1";var value = eval("obj."+key);
關于js如何獲取json中key所對應的value值?就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。