其他分享
首页 > 其他分享> > json库学习

json库学习

作者:互联网

在python里面,使用序列化和反序列化使用到的标准库是json 

序列化:把Python对象(字典,列表,元组)转为字符串的过程(把第三方的内容写到文件中 dump())
反序列化:把字符串转为Python对象(字典,列表,元组)的过程(从文件中读取数据 load())

用途:主要用于数据分析和接口测试

依据不同的数据类型(list,tuple,dict)来进行序列化和反序列化的操作

1,列表的序列化与反序列化

2,元组的序列化与反序列化

3,字典的序列化与反序列化

4,针对文件的序列化与反序列化

#列表的序列化与反序列化 
lists=[x for x in range(6)]

list_str=json.dumps(lists)
print(list_str,type(list_str))

str_list=json.loads(list_str)
print(str_list,type(str_list))

结果:
[0, 1, 2, 3, 4, 5] <class 'str'>
[0, 1, 2, 3, 4, 5] <class 'list'>
#元组的序列化与反序列化
tuple1=("go","java")
tuple_str=json.dumps(tuple1)
print(tuple_str,type(tuple_str))

str_tuple=json.loads(tuple_str)
print(str_tuple,type(str_tuple))

列表:
["go", "java"] <class 'str'>
['go', 'java'] <class 'list'>
#字典的序列化与反序列化
dict1={"name":"无涯","age":18,"city":"西安"}
dict_str=json.dumps(dict1,indent=True,ensure_ascii=False)
print(dict_str,'\n',type(dict_str))

str_dict=json.loads(dict_str)
print(str_dict,type(str_dict))
#注意:字典的序列化不支持中文,需要使用CTRL+鼠标左键找到 ensure_ascii=False 修改为False即可显示 结果: { "name": "无涯", "age": 18, "city": "西安" } <class 'str'>
#文件的序列化与反序列化

dict1={"name":"无涯","age":18,"city":"西安"}
json.dump(dict1,open('json.txt','w'))

data=json.load(open('json.txt','r'))
print(data,type(data))

结果:
{'name': '无涯', 'age': 18, 'city': '西安'} <class 'dict'>

 

标签:tuple,list,学习,json,dict,str,序列化
来源: https://www.cnblogs.com/wrwangrong/p/16397922.html