序列化:将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是json,xml。
反序列化:就是从存储区域(json,xml)读取反序列化对象的状态,重新创建该对象
Json:一种轻量级数据交互格式,相对于XML更简单,也易于阅读和编写,机器方便解析和生成,json是JavaScript中的一个子集
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
json.dumps():对数据进行编码。
json.loads():对数据进行解码。
在json的编解码过程中,python 的原始类型与json类型会相互转换,具体的转化对照如下:
Python 编码为 JSON 类型转换对应表:
pythonJSON
dict
object
list, tuple
array
str
string
int, float, int- & float-derived Enums
number
True
true
False
false
None
null
JSON 解码为 Python 类型转换对应表:
JSONPython
object
dict
array
list
string
str
number (int)
int
number (real)
float
true
True
false
False
null
None
json.dumps 与 json.loads 实例
1、以下实例演示了 Python 数据结构转换为JSON:
1 '''
2 Author:Ranxf3 '''
4
5 importjson6
7 #python 字典类型转换为JSON对象
8 data ={9 "type": "create", #同步用户消息类型
10 "username": "X012", #用户名(唯一标识,需保存)
11 "password": "4875c0fa1cc0113b91a504aaff70", #MD5后用户密码(需保存)
12 "createTime": "2017-07-17 14:00:10.771", #用户创建时间(需保存)
13 "lastLoginTime": "2017-07-17 14:00:10.771", #最后登陆时间
14 "name": "test", #姓名(需保存)
15 "description": "", #描述
16 "policeNumber": "9257", #警号(需保存)
17 "phoneNumber": "13000000000", #联系方式
18 "organizationName"