7.Python和Json类型转换
一、python和json类型转换

二、Python转json
需要先import json, 方法:json.dumps()
dump: 是针对文件的
1. Python中的None转json:
a =None #None的类型是:NoneType aa = json.dumps(a) print(aa) #null的类型是str
2. Python中的True/False转json:
b = True #True的类型是:bool bb = json.dumps(b) print(bb) # true的类型是str
3. Python中的list/tuple转json:
import json a = [{"a":1,"b":2,"c":None,"d":True}] print(a) # [{'a': 1, 'b': 2, 'c': None, 'd': True}] print(type(a)) # <class 'list'> aa = json.dumps(a) print(aa) # [{"a": 1, "b": 2, "c": null, "d": true}] print(type(aa)) # <class 'str'>
4. Python中的dict转json:
import json a = {"c": None, "d": True} # 数据类型dict print(json.dumps(a)) # {"c": null, "d": true} print(type(json.dumps(a))) # <class 'str'>
5. pyton中的字典转python中的字符串,而非json格式
a = {"c": None, "d": True} # 数据类型dict
print(str(a)) # {'c': None, 'd': True}
print(type(str(a))) #<class 'str'>
注:python中没有json这种类型,转成null/true/false后,其实就是符合json格式的字符串
三、Json转Python
需要先import json, 方法:json.loads()
1. Json格式的字符串(类似于python中的list类型)转python中的list
import json a = '[{"a": 1, "c": null, "d": true}]' #类似于list类型的json的str print(json.loads(a)) # [{'a': 1, 'c': None, 'd': True}] print(type(json.loads(a))) # <class 'list'>
2. Json格式的字符串 转python中的dict:用json.loads()
import json a = '{"a": 1,"c": null, "d": true}' # json格式的字符串
print(json.loads(a)) # {'a': 1, 'c': None, 'd': True}
print(type(json.loads(a))) # <class 'dict'>
3. Python中标准的字典格式的字符串转python中的dict(None非json格式):用eval()
import json a = '{"c": None, "d": True}' # python中标准的字典格式的字符串 print(eval(a)) # {'c': None, 'd': True} print(type(eval(a))) # <class 'dict'>
4. Json格式的字符串,无法区分是Python标准形式的,还是Json格式的(即没有True/true/None/null),那么用以下两种方法解析都可以
import json a = '{"c": "test", "d": "rrrr"}' print(eval(a)) # {'c': 'test', 'd': 'rrrr'} print(json.loads(a)) # <class 'dict'>
四、Json解析
1.通过eval(), 或者json.loads()
2.由于requests自带json解析器,可以使用下述简便方法解析接口返回的类似于字典的json对象
print(r.json())
浙公网安备 33010602011771号