Json学习笔记之Json语法规则
官网:https://www.json.org/json-zh.html
教程:https://www.w3school.com.cn/json/index.asp
什么是Json?
一种简单的描述数据的文本格式。
Json能用来干嘛
我们可以通过Json来表示面向对象编程中的对象、数组以及基本数据类型(整型、浮点型···)。通过调用面向对象编程语言(如C#)中的一些方法,可以将Json文件中的文本转化为一个具体的对象,或者将一个对象转化为Json文件中的文本。
用Json的好处
1.格式简单。轻量,体积小,便于传输。
2.大部分语言、平台提供Json文件解析方法。解析方便,复用率高。
语法规则
在Json文本中我们能够表示两种结构:①对象(这里更像是结构体变量) ②数组。这两种结构在不同语言上称呼可能不同,但在本质是一样的:①键值对的集合 ②值的有序列表。
1.基本数据类型
在Json中使用键值对的方式来表示基本数据类型: "变量名" : 变量值 。键值对之间用逗号隔开。如:
"name":"Jack" 表示 一个名字为name,值为Jack的字符串。
"name":"Jack" , "age":24 表示两个变量,其中第二个变量是值为24的整型变量。
可见,键值对的具体数据类型隐藏在了值上。
值的类型可以为:
- 数字(整数或浮点数)
- 字符串(在双引号中,可以使用转义字符)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
2.对象
在Json中,对象用花括号{}表示,对象是键值对的集合,键值对之间用逗号隔开。如:
{"name":"Jack" , "age":24} 即表示含有两个属性的对象
3.数组
在Json中,数组用方括号[]表示,数组是值(不是键值对)的集合,值之间用逗号隔开。与C语言中的数组定义不同,这里一个数组可以包含不同类型的值,如:
[ 12, 34, 56, "abc" ]
4.嵌套使用上述类型
[ {"name":"J","age":24}, {"name":"a" , "age":23}, {"name":"c" , "age":25} ]
上述文本表示含有三个对象的数组。
{ "member":[ {"name":"J","age":24}, {"name":"a" , "age":23}, {"name":"c" , "age":25} ] }
上述文本表示含有一个数组的对象,其中那个数组又含有三个对象,且数组名为member。
注意:前面提到,Json能够表示对象和数组这两种结构。实际上,Json也必须表示为这两种结构之一。也就是说,Json的最外层必须是一个对象或者数组。即json文件中所有文本必须是以 { 开头 以} 结尾,或者以 [ 开头以 ] 结尾。