JSON

JSON全程为JAVAScript object Notation,指的是javascript对象表示法

JSON采用完全独立于编程语言的文本格式来存储、表示和交换数据

JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,并有效的提升网络传输效率

JSON语法规则

JSON语法是javascript对象表示语法的子集

大括号保存对象

数据以"名值"对(“键值”对)表示

数据之间由逗号分隔

中括号保存数组

{
"name":"网站",
"num":3,
"sites":["tedu","Google","Taobao"]
}

JSON有时候也叫JSON字典,左边是词,右边解释,专业讲左边是存储数据的变量名,叫键,右边是数值,叫值

JSON数据的书写格式是:键值对(左边是词,右边是解释,专业讲左边是存储数据的变量名,叫键,右边是数值,叫值),键值之间必须用英文冒号间隔,键必须是字符串(放在双引号中),值是字符串或文字以及日期时间必须加双引号,数字类型不加引号

JSON的数据类型

字符串、数字、逻辑值(true或false)、NULL、对象(在大括号中)、数组(在括号中)

{
"name":"Tom",
"age":20,
"salary":4567.78,
"member":true,
"other":null
}

JSON对象

JSON对象在大括号{}中书写

对象可以包含多个键值对

每个键值对使用逗号,分隔

{
"name":"Tom",
"age":20,
"salary":4567.78,
"member":true,
"other":null
}

JSON对象嵌套

JSON对象中可以包含另一个JSON对象

{
"name":"runbo",
"alexa":1000,
"sties":{
"site1":"www.baidu.com",
"site2":"www.tmooc.cn"
}
}

JSON数组

JSON数组在中括号[]中书写

JSON中数组值必须是合法的JSON数据类型

JSON数组可以包含数组,或者包含JSON对象

{
"name":"网站",
"num":3,
"sites":["tedu","Google"]
}

JSON对象中也可以书写数组

例如:[数据1,数据2,数据3.....],数组中也可以继续写JSON对象和数组,但是最外边一般都是{},并{}不能省略

JSON与python字典区别

1.JSON和字典非常类似,都是键值对(key-value)的形式,而且JSON、字典也可以非常方便的通过dumps、loads互转

JSON是一种数据格式,纯字符串

字典是一个完整的数据结构

2.JSON的键只能是字符串,字典可以是任何的hash对象(hashtable type)

3.JSON的键可以有序、重复的。字典的键是不可以重复的。

4.JSON的值只能是字符串、浮点数、布尔值、null,数组、对象

5.JSON任意键存在默认值undefined,字典默认是没有默认值

6.JSON访问方式可以是[],也可以是.,遍历方式分为in、of。字典的values仅可以下标访问

7.JSON的字符串必须是双引号,字典里可以是单引号、双引号

8.字典可以嵌套元祖类型,JSON里只有数组类型

9.JSON:true、false、null

字典 : True、False、None

10.JSON中文必须是unicode编码,如:"\u6211"

11.JSON的类型是字符串,字典的类型就是字典


作者:暄总-tester