json模块
•应用场景:
json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转化为json格式的数据,便于跨平台或跨语言进行数据交互
Json模块提供了四个功能:dumps、dump、loads、load
•具体应用
♥dumps跟loads是用于python对象和字符串间的序列化和反序列化
dumps:是将Python基本数据类型转化为json格式化数据类型
loads:将json格式数据类型转化为python数据类型
import json s1 = '{"key1":"value1"}' #字符串只能是这个格式的,才能被json转换 通过loads进行反序列化时,必须使用双引号 s2 = json.loads(s1) #使用loads反序列化
print('s1的内容:',s1)
print("s1的类型:",type(s1))
print('s2的内容:',s2)
print("s2的类型:",type(s2)) d1 = {'key2':'value2'} d2 = json.dumps(d1)
print('d1的内容:',d1)
print("d1的类型:",type(d1))
print('d2的内容:',d2)
print("d2的类型",type(d2)) 结果:
s1的内容: {"key1":"value1"}
s1的类型: <class 'str'>
s2的内容: {'key1': 'value1'}
s2的类型: <class 'dict'>
d1的内容: {'key2': 'value2'}
d1的类型: <class 'dict'>
d2的内容: {"key2": "value2"}
d2的类型 <class 'str'>
♥dump和load是用于对于文件进行序列化和反序列化
dump:主要用于json文件的读写,json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中
load:加载json文件
import json s1 = '{"key1":"value1"}' #字符串只能是这个格式的,才能被json转换 通过loads进行反序列化时,必须使用双引号
d1 = {'key2':'value2'} json.dump(d1,open('/opt/序列化.txt','w')) #将s1序列化,并写入文件
e1 = json.load(open('/opt/序列化.txt','r')) #读取json文件
print("e1的类型:",type(e1))
print('e1的内容:',e1) 结果:
e1的类型: <class 'dict'>
e1的内容: {'key2': 'value2'}