json
json是一种数据格式,几乎所有的高级语言都支持这种数据格式的处理。
json主要用来不同语言之间的数据交流。
json格式要求
1.一个json有且只有一个数据
2.唯一的这个数据必须是json支持的数据类型的数据
json支持的数据类型:
1)数字类型(Number) - 所有数字对应的类型,表示的时候直接写100,-12.3,3e4(不支持复数)
2)字符串(String) - 用双引号引起来的字符集
3)布尔(Boolean) - ture和false(首字母不能大写)
4)数组(Array) - 相当于python的列表
5)字典(Dictionary) - 相当于python中的字典,但是key只能是字符串
6)空值 - null,相当于python的None
json数据和python数据的相互转换
1.json数据转python数据
json -> python
数字 int/float
字符串 字符串(可能会将双引号变成单引号)
布尔 布尔(首字母变成大写字母)
数组 列表(元素也会进行相应的转换)
字典 字典(元素也会进行相应的转换)
null None
python中提供了一个json模块,专门用来提供处理json数据相关的函数
json.loads(json格式的字符串) - 将json格式的字符串转换成对应的python数据。json格式的字符串:字符串内容满足json格式。
示例:
import json
result1 = json.loads('"abc"')
result2 = json.loads('100')
result2 = json.loads('["abc", 1, 2, ture, null]')
练习:
import json
with open(r'test1_json.json', encoding='utf-8') as f:
result = f.read()
data = json.loads(result)
for newslist in data['newslist']:
print(newslist['title'])
2.python转json(主要用于后端开发)
json -> python
int/float 数字
字符串 字符串(单引号变成双引号)
布尔 布尔(首字母变成小写字母)
列表/元组 数组(元素也会进行相应的转换)
字典 字典(元素也会进行相应的转换)
None null
json.dumps(python数据) - 将python数据转换成json格式的字符串
异常:
异常就是错误,程序报错就是程序出现异常。执行程序的过程中出现异常,程序(线程)会直接结束。
异常捕获
1.异常捕获:让程序在程序出现异常时不崩溃,继续执行。
2.不是任何异常都可以捕获,只有在明知某段代码会出现异常但是又不能或者不方便通过修改代码来避免,这时就可以异常捕获。
3.语法:
方法一:捕获所有类型异常
try:
需要捕获异常的代码
except:
捕获到异常后执行的代码
其他代码
方法二:
try:
需要捕获异常的代码
except 异常类型:
捕获到指定异常后会执行的代码
其他代码
方法三:
try:
需要捕获异常的代码
except (异常类型1,异常类型2…):
捕获到指定异常后会执行的代码
其他代码
方法四:
try:
需要捕获异常的代码
except 异常类型1:
捕获到指定异常后会执行的代码1
except 异常类型2:
捕获到指定异常后会执行的代码2
except …
其他代码
finally - 写遗书
try:
需要捕获异常的代码
except …:
捕获到异常后执行的代码
finally:
一定会执行的代码
其他代码
抛出异常
主动让程序崩溃
语法:
raise 异常类型
异常类型可以是系统异常类型也可以是自定义异常类型