python中json库序列化和反序列化(列表、字典、元组)

1、json库的应用

在python中,序列化:把python的数据类型(字典、元组、列表)转为str的数据类型;

         反序列化:把str的数据类型转为python对象的过程。

序列化和反序列化在列表、元组和字典中的应用:

列表:

import json

lists=[1,2,3,4]

#序列化
list_str=json.dumps(lists) ##先对lists进行序列化list_str
print('内容:',list_str,'序列化后的列表类型:',type(list_str))
#反序列化
str_list=json.loads(list_str) ##再对list_str进行反序列化str_list
print('内容:',str_list,'反序列化后的列表类型:',type(str_list))

  输出结果(输出的内容可能看不出来效果,通过type()查看数据类型就可以看出区别):

 

元组:

import json

tuple1=(1,2,3,4) #序列化 tuple_str=json.dumps(tuple1) #格式化的时候 print('内容:',tuple_str,'序列化后的列表类型:',type(tuple_str)) # #反序列化 str_tuple=json.loads(tuple_str) print('内容:',str_tuple,'序列化后的列表类型:',type(str_tuple))

  输出结果(输出的内容可能看不出来效果,通过type()查看数据类型就可以看出区别):

 

字典:

import json

dict1={'name':'lyl','age':18}

# #序列化
dict_str=json.dumps(dict1)
print('内容:',dict_str,'序列化后的列表类型:',type(dict_str))
# #反序列化
str_dict=json.loads(dict_str)
print('内容:',str_dict,'序列化后的列表类型:',type(str_dict))

 输出结果(双引号和单引号并不能说明数据类型的转变,通过type()查看数据类型): 

dump():把目标数据写到文件里面
load():从文件里面读取数据
import json

dict1={'name':'lyl','age':18,'address':'xian'}
#把dict1的内容用w模式写到log.md里面, json.dump(dict1,open('log.md','w')) #读取log.md里面的内容 print(json.load(open('log.md','r')))

  输出结果:

 

 

 

posted @ 2022-06-13 15:05  就不将就就  阅读(838)  评论(0编辑  收藏  举报