# JSON 数据容器的序列化与反序列化 ## 1、概念理解 1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)   (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)   (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典) 2、json.dump()和json.load()主要用来读写json文件函数 ## 2、字典的序列化与反序列化 ``` import json ''' 序列化:把python的数据类型转为str的类型过程 反序列化:str的类型转为python的数据结构 ''' dict1={'name':'wuya','age':18} '''字典的序列化与反序列化''' # 序列化:dict--->str dict_str=json.dumps(dict1) print(u'序列化后的结果信息:',dict_str,type(dict_str)) # 反序列化 str_dict=json.loads(dict_str) print(u'反序列化后的结果信息:',str_dict,type(str_dict)) ``` ## 3、列表的序列化与反序列化的过程 ``` '''列表的序列化与反序列化的过程''' import json list1=['admin','wuya','weike'] # 序列化 list_str=json.dumps(list1) print(u'序列化后的结果信息') print(list_str,type(list_str)) # 反序列化 str_list = json.loads(list_str) print(u'反序列化后的结果信息') print(str_list,type(str_list)) ``` ## 4、元组的序列化与反序列化的过程 ``` tuple_str = json.dumps(tuple1) print(u'序列化后的结果信息:') print(tuple_str,type(tuple_str)) str_tuple = json.loads(tuple_str) # 反序列化 print(u'反序列化后的结果信息:') print(str_tuple,type(str_tuple)) ```