said:
stormwen
很多公司的加班是今天做昨天的事情,或者今天做今天还没完成的事情,反正加班是因为做不完事情,而我理解的加班应该是今天要把明天的事情做完,这个月把下个月的事情做完,这才是加班的意义,从而能够永远赶在竞争对手前面。
JSON的全称:JavaScript Object Notation,是JavaScript的对象标记,本质是一种轻量级的数据交换格式。从概念可以知道,JSON是一种数据格式,字符串是它的表现形式。
例1:JSON语法规则
import json
json_str = '[{"name":"qiyue", "age":18,"flag":false},{"name":"shigandang", "age":18,"flag":false}]'
student = json.loads(json_str) #将json字符串转换成Python数据结构
print(type(student))
print(student) #打印的值是单引号,由Python字典决定,与json无关
这段代码就是JSON的基本语法形式,可以看到它有以下几个特点:
可以看到,要将json字符串转换成Python的数据结构,首先需要引入json模块,然后再利用json.loads()方法。
最后需要知道反序列化,从字符串到语言下面的某一种数据结构。比如上面代码,从json的数组变成Python的list。
总结一下json的字符串格式反序列化后,对应Python的数据结构,如下:
# json python
# object dict
# array list
# string str
# number int
# number float
# true True
# false False
# null None
例2:序列化
import json
student = [
{"name":"qiyue", "age":18,"flag":False},
{"name":"shigandang", "age":18,}
]
json_str = json.dumps(student) #序列化的方法
print(type(json_str))
print(json_str)
例1中介绍了反序列化,那么序列化就是序列化的逆过程,即Python数据类型转化为json字符串。
总结
(1)很多人容易把JSON和JavaScript混淆,因为JSON和JavaScrip的数据类型非常相似。但其实两者是有区别的,JavaScript一种标准的实现方案之一(ECMASCRIPT),所以我们可以把JSON也理解为实现ECMASCRIPT的一种版本,所以JSON并不是JavaScript的附属品,从某种意义上JSON是和JavaScript并行的。
JSON在外部前后端分离起到重要作用,前端语言有很多种,但主流的是JavaScript,而JSON被用于JavaScript的交互中,所以很多人会混淆两者。
(2)JSON对象,它确实存在,但它定义却很片面。如果放在JavaScript里,它是成立的,但放在Python中,又没有这个说法。