python序列化与反序列化

2019-05-21  本文已影响0人  小娟_bb93

json序列化与反序列化

序列化:dumps()/dump(),将python中字典类型的对象序列化后,转化成json格式的字符串数据;

反序列化:loads()/load(),将json格式字符串转化成python中的字典对象'''

dumps():将python对象转换成json格式的字符串对象

# -*-encoding='utf-8'-*-
import requests
import json
# 转换字典对象
d = {'name':'张三','age':'18'}   #字典
print(json.dumps(d,ensure_ascii=False))   # ensure_ascii=False 确保编码不为ascii码

# 转换字符串对象
str ='字符串'
print(json.dumps(str,ensure_ascii=False))

# 转换整数对象
i =12345677789 # 整数
print(json.dumps(i))

# 转换列表对象
l = ['1','2','3','4']
print(json.dumps(l))

# 转换元组对象
t = ('元组1','元组2','元组3')
print(json.dumps(t,ensure_ascii=False))

dump()方法,将python对象序列化转换成json格式文件并保存到json文件中

a = {'name':'Tom','age':20}
b = {'name':'小娟','age':18}
with open("package.json","w",encoding='utf-8')as f:
     f.write(json.dumps(a,indent=2))
json.dump(a,f,indent=2)  # 将python对象序列化转换成json格式文件并保存到json文件中
with open('package.json','r')as p:
print(p.read())

loads()反序列化,将json格式字符串对象转化成python对象

# 转换字典对象
j ='{"name":"张三","age":"21"}'   # json格式字符串对象
print(json.loads(j))

# 转换列表对象
L ='["1", "2", "3", "4"]'      # list格式的字符串对象
print(json.loads(L))
上一篇 下一篇

猜你喜欢

热点阅读