1 JSON定义
定义:是一种轻量级的数据交换格式
JSON是JavaScript Object Notation缩写
特点:
- 易于程序员阅读和编写。
- 易于计算机解析和生成。
- 其实是javascript的子集:原生javascript支持JSON
javascript
<script type="text/javascript">
var student = {
name:'gao',
age: 23,
print : function() {
console.log("name" + this.name + ", age: " + this.age);
}
}
console.log(student.name);
student.print()
</script>
JSON是一种与语言无关的数据交换的格式,作用:
- 使用ajax进行前后台数据交换
- 移动端与服务端的数据交换
2 JSON数据格式
JSON的语法规则十分简单,可称得上"优雅完美 ",总结起来有:
JSON有两种结构:
1)对象格式:{"key1":obj1, "key2":obj2, "key3":obj3...}
2)数组/集合格式: [obj1,obj2,obj3...]
注意:JSON的key是字符串,JSON的value是Object
规则如下:
1)映射用冒号(":")表示。名称:值
2)并列的数据之间用逗号(",")分隔。名称1:值1,名称2:值2
3) 映射的集合(对象)用大括号("{}")表示。{名称1:值1,名称2:值2}
4) 并列数据的集合(数组)用方括号("[]")表示。
json
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
5)元素值可具有的类型:string, number, object, array, true, false, null
对象与数组:
1)对象(Object)用大括号({})表示
json
Student:
{
"id" : 12,
"name" : "java1711",
"age" : 20,
"gender" : "男"
}
2)数组(Array)用方括号([])表示:
json
List<Student>: [{},{},{}]
[
{
"id" : 12,
"name" : "java1711",
"age" : 20,
"gender" : "男"
}
,
{
"id" : 13,
"name" : "java1712",
"age" : 21,
"gender" : "女"
}
]
3 JSON和XML比较
JSON常备拿来与XML做比较,因为JSON的诞生本来就或多或少要有取代XML的意思。
相比XML,JSON的优势如下:
- 没有结束标签,长度更短,读写更快。
- 能够直接被JavaScript解析器解析。
- 可以使用数组。
JSON:
json
{
"id" : 12,
"name" : "gao",
"age" : 30,
"gender" : "男",
"interests" : ["篮球", "爬山", "旅游"]
}
XML:
xml
<root>
<id>12</id>
<name>gao</name>
<age>30</age>
<gender>男</gender>
<interest>篮球</interest>
<interest>爬山</interest>
<interest>旅游</interest>
</root>
JSON可以直接使用数组,但是XML没有直接定义数组,
如果数组很长,我们的代码中就要添加大量的没有实际意义的开始和结束标签,这对于网络传输是不利的。
XML主要是用在配置文件。
4 JSON浏览器插件安装
https://www.baidufe.com/fehelper
https://layui.itze.cn/demo/table/user.json?page=2&limit=10