json介绍
json和xml一样,是一种数据格式。
但是json
1.比xml更加的轻便,
2.解析比xml更加的简单,
3.体积比xml更小。
所以json格式是目前广大开发者公认的一种数据格式
应用场景说明:数据传输
<User>
<username>zhangsan</username>
<password>123</password>
<sex>male</sex>
</User>
json格式
基本格式
格式:
{key:value,key:value}
键和值之间以冒号隔开
每组键值对之间以分号隔开。
解析:json.key 即可获取值
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
/**
* json基本格式:
* {key:value,key:value,key:value}
*
*
*
*
*
*
*
* 注意:
* key:可以加双引号,也可以不加双引号。
* value:因为value指代的是值,值是必须要有引号的。
* value可以是任意数据类型。
* 解析:json.key
*
*
*
*/
// 描述一个人
let jsonObj = {name:"张坤",sex:"male",age:"40"};
console.log(jsonObj.name);
console.log(jsonObj.sex);
console.log(jsonObj.age);
let jsonObj2 = "{'name':'张坤'}";
console.log(jsonObj2.name);
console.log(jsonObj);
console.log(jsonObj2);
</script>
</html>
注意:
1.json对象是以{}开始的
2.value需要加上双引号
3.key可以不用加上双引号,但是建议加上。因为只有js中key可以不用加引号。
数组格式
格式:
[
{key:value,key:value},
{key:value,key:value},
{key:value,key:value}
]
描述三条狗代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
/**
* json数组
*
* [
* {key:value,key:value},
* {key:value,key:value},
* {key:value,key:value},
* {key:value,key:value}
*
* ]
*
* 数组先遍历,拿到json对象然后在通过key获取值。
*/
var dogs = [
{"name":"泰日天","type":"泰迪"},
{"name":"撕家","type":"二哈"},
{"name":"奶妈","type":"金毛"}
];
for(let i=0;i<dogs.length;i++){
console.log(dogs[i].name);
}
</script>
</html>
小结:
json数组格式,本质就是一个数组,然后数组里面存放的是json对象
复杂格式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
/*
复杂格式:基于json的2种格式上,value可以是任意数据类型
*/
let person = {
"name":"赵日天",
"sex":"male",
"isMarry":false,
"dogs":[
{"name":"泰日天","type":"泰迪"},
{"name":"撕家","type":"二哈"},
{"name":"奶妈","type":"金毛"}
],
"cat":{"type":"蓝猫","sex":"male"},
"sleep":function () {
console.log("爱睡觉");
}
}
console.log(person.name);
console.log(person.dogs[0].name);
console.log(person.cat.type);
person.sleep();
</script>
</html>