首页 > temp > 简明python教程 >
-
Python 序列化模块之 json 和 pickle
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,支持不同程序之间的数据转换.但是只能转换简单的类型如:(列表、字典、字符串、数字、)等,比如日期格式、类对象等json就处理不了。
在python中,有专门处理json格式的模块 json 和 pickle模块:
json模块用于字符串和python数据类型间进行转换;pickle模块用于python特有的类型和python的数据类型间进行转换,而且都提供了dumps、dump、loads、load 4个功能,用法也一样,不用的是json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,而pickle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码。
json模块使用实例:
引用模块:
import json
序列化方法, 将python对象转换成其他语言通用的字符串类型:

实例:

json.dump() 示例:

保存的文件test.json效果:

python 原始类型向 json 类型的转化对照表:

反序列化方法,把Json格式字符串解码转换成Python对象:

实例:

json 类型转换到 python 的类型对照表:

pickle模块使用实例:
pickle,用于python特有的类型 和 python的数据类型间进行转换 。
pickle.dumps 将数据通过特殊的形式转换为只有python语言认识的字符串
pickle.dump 将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件
pickle.loads 将pickle数据转换为python的数据结构
pickle.load 从数据文件中读取数据,并转换为python的数据结构
实例应用:
1.dumps和loads示例:

2.dump和load示例:
