js中怎么获取json中的key,value值

JavaScript09

js中怎么获取json中的key,value值,第1张

var obj = {"id": 1, "name":"张三"}

for(var key in obj)

{

alert("Key是:" + key)

alert("对应的值是:" + obj[key])

}

Js遍历json对象所有key及根据动态key获取值:

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)

//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对应的值。

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gbk"/>

<script type="text/javascript">

var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"}

function EnumaKey(){

for(var key in smsTypeDesc){

alert(key)

}

}

function GetVal(){

var key = prompt("请输入要查询的key","4")

if("undefined"==typeof(smsTypeDesc)) return

if("undefined"==typeof(smsTypeDesc[key])){

alert("输入的key:"+key+", 在json对象中不存在!")

return

}

alert("您输入的key是:"+key + ",该key所对应的值是:"+smsTypeDesc[key])

}

function GetValByKey(){

alert(smsTypeDesc.aa)

}

</script>

</head>

<body>

Json对象:<br/>

<pre>

var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"}

</pre>

<input type="button" onclick="EnumaKey()" value="遍历smsTypeDesc所有key"/>

<input type="button" onclick="GetVal()" value="获取smsTypeDesc动态指定key的值"/>

<input type="button" onclick="GetValByKey()" value="获取smsTypeDesc key aa 所对应的值"/>

</body>

</html>