下面是json数据:(题型来自某家公司的面试题)
var jsonObject = {
"action" : "add_user",
"user" : "{name:\"张三\",age:\"16\",phones:[\"13412345678\",\"18812341234\"]}",
"family" : {
"mom" : {"name":"张三妈妈","age":45},
"dad" : {"name":"张三爸爸","age":48}
},
"classmate" : [
{"name":"李四","age":14},
{"name":"王五","age":15},
{"name":"小刘","age":16}
]
};
(1)获取使用者add_user;
(2)遍历出用户的手机号;
(3)获取妈妈名字;
(4)添加,家人妹妹;
(5)遍历打印所有家人;
(6)查找同学王五年龄。
答案:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<script type="text/javascript">
var jsonObject = {
"action" : "add_user",
"user" : "{name:\"张三\",age:\"16\",phones:[\"13412345678\",\"18812341234\"]}",
"family" : {
"mom" : {"name":"张三妈妈","age":45},
"dad" : {"name":"张三爸爸","age":48}
},
"classmate" : [
{"name":"李四","age":14},
{"name":"王五","age":15},
{"name":"小刘","age":16}
]
};
//(1)获取使用者add_user
console.log("(1)获取使用者:", jsonObject.action );
//(2)遍历出用户的手机号
var userinfo = jsonObject.user;
//console.log(typeof(userinfo)); //string
var userobj = eval('('+userinfo+')'); //将json字符串,转为object
var userphonearray = userobj.phones;
for(var value of userphonearray){
console.log("(2)用户的手机号: ",value);
}
//(3)获取妈妈名字
console.log("(3)获取妈妈名字:",jsonObject.family.mom.name)
//(4)添加,家人妹妹
jsonObject.family.sister={name:'妹妹',age:10};
console.log("(4)添加,家人妹妹:",jsonObject.family.sister)
//(5)遍历打印所有家人
console.log("(5)遍历打印所有家人:")
var familys = jsonObject.family; //遍历对象
//console.log(1234,familys["dad"]); //Object { name: "张三爸爸", age: 48 }
Object.keys(familys).forEach(function(key){
console.log(key,familys[key]);
})
//(6)查找同学王五年龄
var classmates = jsonObject.classmate;
function fun(arrs,str){
for(var i=0; i<arrs.length; i++){
if(arrs[i].name === str){
return arrs[i].age;
}
}
}
var classage = fun(classmates,"王五");
console.log("(6)查找同学王五年龄:",classage);
</script>
</head>
<body>
</body>
</html>