三. json
1. json模块的作用
当我们从网上的到一个网页的时候,一般会得到三种数据(从网站上得到的数据最终都是字符串)
<1>. html html我们都知道是一种标记语言,具有固定的格式。
<2>. json json不是一种语言,但是它具有固定的格式,就是类似字典,元组,列表的格式的字符串,我们可以功过json让其进行相互转换
<3>. xml xml是另一种语言,类似于html,也具备固定的格式,有tag,attitude,text等。可以通过xml进行解析
2. json模块的使用方法
1 json.loads() 将字符串格式的字典和元组转换成对应的字典或者元组 2 3 import json 4 s1 = '''{ 5 "name":"hu", 6 "age":1, 7 "gender":"man" 8 }''' 9 a = json.loads(s1) 10 print(a, type(a)) 11 # 结果: 12 {'name': 'hu', 'age': 1, 'gender': 'man'} <class 'dict'> 13 # 注意s1中不能出现单引号 14 15 json.dumps() 将字典或者列表转换成字符串 16 17 18 import json 19 s2 = {'age': 1, 'gender': 'man', 'name': 'hu'} 20 a = json.dumps(s2) 21 print(a, type(a)) 22 # 结果: 23 {"gender": "man", "age": 1, "name": "hu"} <class 'str'> 24 25 26 json.dump() 写入中文会是乱码,暂时没有找到转换字符的地方 27 28 s2 = { 29 "name":'zhou', 30 "age":12, 31 "gender":"woman" 32 } 33 import json 34 json.dump(s2, open('test1', 'a', encoding='utf-8')) 35 # 结果: 追加到test1的内容 36 { 37 "name":"hu", 38 "age":1, 39 "gender":"man" 40 }{"age": 12, "name": "zhou", "gender": "woman"} 41 42 43 44 json.load() 将文件中的字符串转换成字典类型 45 # test1 文件中的内容就是下面的字典 46 import json 47 a = json.load(open('test1', 'r', encoding='utf-8')) 48 print(a, type(a)) 49 # 结果: 50 {'name': 'hu', 'gender': 'man', 'age': 1} <class 'dict'>