一、json模块
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。
这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
注意:pyhton中的集合不能转成json格式。
序列化:
dumps:将python对象编码成JSON字符串
dump: 将对象序列化并保存到文件
反序列化
loads:将已编码的JSON字符串解码为python对象
load: 将序列化字符串从文件读取并反序列化
二、pickle模块
python的pickle模块实现了python的所有数据序列和反序列化。与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。
pcikle的序列化与反序列化:
import json
import pickle
nums = range(1, 10)
print(type(nums))
pickle_nums = pickle.dumps(nums)
print(pickle_nums)
print("序列化:", type(pickle_nums))
unpickle_nums = pickle.loads(pickle_nums)
print(unpickle_nums)
print("反序列化:", type(unpickle_nums))