js获取json中key所对应的value值的简单方法
实例如下:
getJson('age'); functiongetJson(key){ varjsonObj={"name":"傅红雪","age":"24","profession":"刺客"}; //1、使用eval方法 vareValue=eval('jsonObj.'+key); alert(eValue); //2、遍历Json串获取其属性 for(variteminjsonObj){ if(item==key){//item表示Json串中的属性,如'name' varjValue=jsonObj[item];//key所对应的value alert(jValue); } } //3、直接获取 alert(jsonObj[''+key+'']); }
通过上边三种方法就可以取到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(varkeyindata.regionAndCompany){
region.push(key);
}
//console.log(region)
//接口取出来的仓储的数组
for(keyindata.storageWithCompany){
storageWithCompany.push(data.storageWithCompany[key])
}
//console.log(storageWithCompany)
////接口取出来的产能的数组
//for(keyindata.nameAndCapacity){
//capacity.push(data.nameAndCapacity[key])
//}
////console.log(capacity)
//接口取出来的开工率的数组
for(keyindata.nameAndRateOperation){
rateOperation.push(data.nameAndRateOperation[key])
}
//console.log(rateOperation)
//全部的公司名字
for(keyindata.nameAndRateOperation){
companyRateOperation.push(key);
}
//console.log(companyRateOperation)
//全部的时间数据,二维数组
for(varkeyindata.nameAndDateTime){
date.push(data.nameAndDateTime[key])
}
//console.log(date)
//全部的产量数组,二维,每个公司的产量是一个数组
for(varkeyindata.nameAndYield){
yield.push(data.nameAndYield[key])
}
//console.log(yield)
再放上网上的方法
js中获取object类型里键值的方法
最近遇到一个问题:
varobj={"name1":"张三","name2":"李四"};
varkey="name1";
varvalue=obj.key;//得到了"undefined"
value=obj.name1;//得到了"张三"
其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。
于是,我想到了js中遍历对象属性的方法:
functionprintObject(obj){
//obj={"cid":"C0","ctext":"区县"};
vartemp="";
for(variinobj){//用javascript的for/in循环遍历对象的属性
temp+=i+":"+obj[i]+"\n";
}
alert(temp);//结果:cid:C0\nctext:区县
}
这样,就可以清楚的知道js中一个对象的key和value分别是什么了。
回到刚才的问题,怎么动态给key赋值,然后以obj.key的方式得到对应的value呢?
其实以上printObject中有提示,那就是用obj[key]的方法,key可以是动态的,这样就解决了我上面提出的问题了。
最后说一下,还有一个方法也可以,那就是:eval("obj."+key)。
总结:
js中想根据动态key得到某对象中相对应的value的方法有二:
一、varkey="name1";varvalue=obj[key];
二、varkey="name1";varvalue=eval("obj."+key);
以上这篇js获取json中key所对应的value值的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。