Js 怎么遍历json对象所有key及根据动态key获取值(根据k值获取相应的value值)

时间:2021-09-13 00:30:21
Js代码  
<script type="text/javascript">
getJson('age');

function getJson(key){
var jsonObj={"name":"张三","age":"24","profession":"工程师"};
//1、使用eval方法
var eValue=eval('jsonObj.'+key);
alert(eValue);
不过一定要注意 这里给getJson(key)传的参数的key值一定是
"name"或
"age"或
"profession" 
getJson("name") 

//2、遍历Json串获取其属性

for(var item in jsonObj){
if(item==key){ //item 表示Json串中的属性,如'name'
var jValue=jsonObj[item];//key所对应的value
alert(jValue);
}
}
不过一定要注意 这里给getJson(key)传的参数的key值一定是
"name"或
"age"或
"profession" 
getJson("name") 


//3、直接获取

alert(jsonObj[key]);
}
不过一定要注意 这里给getJson(key)传的参数的key值一定是
"name"或
"age"或
"profession" 
getJson("name") 


</script>
下面为自己写的小案例,可以借鉴一下
<script>
// 1 通过eval('json.'+k);这种方法动态的遍历json
var getJson = function(k){
var json = {"a":1,"b":2,"c":3,"d":4,"e":5};
return eval('json.'+k);
};
console.log(getJson("a"));
// 2 遍历json获取其属性
var getJson1 = function(k){
var json = {"a":1,"b":2,"c":3,"d":4,"e":5};
for(var item in json){
if(item == k){
return json[item];
}
};
};
console.log(getJson1("a"));
// 3 直接获取 这是一种很有效的方法不错
var getJson2 = function(k){
var json = {"a":1,"b":2,"c":3,"d":4,"e":5};
return json[k];
};
console.log(getJson2("a"));


当然案例中的json都是从后台获取的,这里只是写了一个小案例
通过上边三种方法就可以取到json中key对应的值