前言
json是一种轻量级别的数据交换格式,B站一个视频我觉得教的非常的好👉json数据交换格式。
一.认识Json
Json一般格式长下面的样子👇,这个是一个最简单的json格式,其中里面的key
代表的是键值,然后value1代表的是值
{
"key": "value1"
}
二.Json的简单使用
json一般是有很多行数据,比如如下👇,然后用逗号分开。
{
"key1": "value1",
"key2": "value2"
}
然后一般传输是以下格式传输,这样的好处是占用的空间小,节省内存,节省网络传输钟的网络带宽。
{"key1":"value1","key2":"value2"}
三.Json的数据类型和访问内容
其中Json的数据类型有,文本型和数字类型,数字类型的话小数可以,整数可以,负数也可以,没有长度限制,如下👇。
{
"key":"value", #文本类型
"key1": 123456 #数字类型
}
1.Json对象
Json里面还有json我的理解是这样的如下👇。
{
"key":"value", #文本类型
"key1": 123456, #数字类型
"key2": { #Json对象
"name": "Ken",
"QQ": 2125760270
},
}
2.数组类型&对象类型数组&空数组
Json里面有数字型的数组,或者是文本类型的数组,如下👇,或者是一个对象,看下面对象类型数组,是有四个对象,空类型数组就是null,里面什么都没有。
{
"key":"value", #文本类型
"key1": 123456, #数字类型
"key2": { #Json对象
"name": "Ken",
"QQ": 2125760270
},
"key3": [1,2,3,4,5], #数字型数组
"key4": ["a","b","c","d"], #文本型数组
#下面是对象类型的数组
"key5": [{
"name": "a",
"age": 18
},
{
"name": "b",
"age": 17
},
{
"name": "c",
"age": 16
},
{
"name": "d",
"age": 15
}]
"key6": null
}
四.取出Json数据里面的数据
假设我们数据如下👇
{
"key":"value", #文本类型
"key1": 123456, #数字类型
"key2": { #Json对象
"name": "Ken",
"QQ": 2125760270
},
"key3": [1,2,3,4,5], #数字型数组
"key4": ["a","b","c","d"], #文本型数组
#下面是对象类型的数组
"key5": [{
"name": "a",
"age": 18
},
{
"name": "b",
"age": 17
},
{
"name": "c",
"age": 16
},
{
"name": "d",
"age": 15
}]
"key6": null
}
1.假设我们要取出key的内容,我们可以直接访问key
,就可以取出key的内容value
。
2.如果我们要取出对象类型的数据,比如取出key2
里面的数据,可以key2.name
就可以取出name,如果我们要取出QQ的内容就可以key2.QQ
。
3.如果我们要取出整数类型的数组,比如这里我想取出key3
里面的2这个数字就可以这样key3[1]
就可以取出来2这个数字
4.如果我们要取出文本类型的数组,和上面取出整数的方法一样的,比如要取出key4
里面的b
这个字符,就可以key4[1]
,就可以取出来。
5.如果我们要取出数组对象,比如我想取出来第一个数组对象的内容,下标是0,所以key5[0].name
,就取出来了a,同理,如果我想要取出来c就可以这样key5[2].name
就可以取出来c。
五.Json的字符转义
1.换行的转义
有些时候我们需要显示"
或者'
或者\
这样的字符,如果有编程语言基础就知道,\r
代表的是换行,\n
也代表的是换行,都可以使用,换行在Json里面是不允许的,如果实现文本换行可以使用\r
,\n
,或者\r\n
,即可实现换行。
{
"QQ": 2125760270
"msg":"你好!\r欢迎来到我的博客,\r我是Ken。"
}
所以如果转换成功,显示出来的内容应该是这样的
你好!
欢迎来到我的博客
我是Ken
2.引号的转义
其实转义都可以使用\
来进行转义,如下例子👇。双引号的地方,使用了\
来进行转义,输出,如果是单引号也可也使用\
来进行转义输出,这里就不在赘述。
{
"QQ": 2125760270
"msg":"你好!\"欢迎来到我的博客\",我是Ken。"
}
3.换行符的转义
如果我就想正常的输出\n
不进行转义的操作,也可也使用\
来进行转义,如下👇,\r
的地方有两个\
,这样就可以输出\r
了,就不会进行换行了
{
"QQ": 2125760270
"msg":"你好!\\r欢迎来到我的博客,\\r我是Ken。"
}
好像就没有了。。。。