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值的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 js获取json中key所对应的value值的简单方法 的全部内容, 来源链接: utcz.com/z/319886.html

回到顶部