实例如下:
<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值的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
获取json的key和value
更新动态
- 宝可梦大集结开服5选1礼包怎么选 新手5选1宝可梦推荐
- 劳斯莱斯女车主丈夫坦言拒赔原因:确实有流量因素
- 《心灵杀手2》PS5 Pro实机演示:质量模式4K 30帧
- 玩家分享买二手盘暖心经历:盘上还有小贴纸表达感谢
- 殷秀梅.2014-沁园春·雪【太平洋影音】【WAV+CUE】
- 范玮琪.2003-真善美【福茂】【WAV+CUE】
- 陈雷.1995-烧翻卖【金圆唱片】【WAV+CUE】
- 乱石堆中一粒砂金——《使命召唤21》评测
- 【果娘聊天室】双11即将结束,各位今年买了啥?
- 双十一必入爆款:微星MPGZ890 EDGE TI刀锋钛主板评测
- 侃侃《植觉DSD》[低速原抓WAV+CUE]
- 摇滚乐.FlorenceandTheMachine-HowBig,HowBlue,HowBeautiful(2015)[96-24]FLAC
- 黑鸭子2008《听·好女人心》2CD[限量版][WAV+CUE]
- 孟庭苇《月亮说话》24K Gold 日本壓碟[WAV+CUE][1G]
- 齐秦《齐秦精选》环球 K2HD版 [低速原抓WAV+CUE][1G]