Python之dict(或对象)与json之间的互相转化实例
在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。
在Python中自带json库。通过importjson导入。
在json模块有2个方法,
loads():将json数据转化成dict数据
dumps():将dict数据转化成json数据
load():读取json文件数据,转成dict数据
dump():将dict数据转化成json数据后写入json文件
下面是具体的示例:
dict字典转json数据
importjson
defdict_to_json():
dict={}
dict['name']='many'
dict['age']=10
dict['sex']='male'
print(dict)#输出:{'name':'many','age':10,'sex':'male'}
j=json.dumps(dict)
print(j)#输出:{"name":"many","age":10,"sex":"male"}
if__name__=='__main__':
dict_to_json()
对象转json数据
importjson
defobj_to_json():
stu=Student('007','007',28,'male','13000000000','123@qq.com')
print(type(stu))#
stu=stu.__dict__#将对象转成dict字典
print(type(stu))#
print(stu)#{'id':'007','name':'007','age':28,'sex':'male','phone':'13000000000','email':'123@qq.com'}
j=json.dumps(obj=stu)
print(j)#{"id":"007","name":"007","age":28,"sex":"male","phone":"13000000000","email":"123@qq.com"}
if__name__=='__main__':
obj_to_json()
json数据转成dict字典
importjson
defjson_to_dict():
j='{"id":"007","name":"007","age":28,"sex":"male","phone":"13000000000","email":"123@qq.com"}'
dict=json.loads(s=j)
print(dict)#{'id':'007','name':'007','age':28,'sex':'male','phone':'13000000000','email':'123@qq.com'}
if__name__=='__main__':
json_to_dict()
json数据转成对象
importjson
defjson_to_obj():
j='{"id":"007","name":"007","age":28,"sex":"male","phone":"13000000000","email":"123@qq.com"}'
dict=json.loads(s=j)
stu=Student()
stu.__dict__=dict
print('id:'+stu.id+'name:'+stu.name+'age:'+str(stu.age)+'sex:'+str(
stu.sex)+'phone:'+stu.phone+'email:'+stu.email)#id:007name:007age:28sex:malephone:13000000000email:123@qq.com
if__name__=='__main__':
json_to_obj()
json的load()与dump()方法的使用
dump()方法的使用
importjson
defdict_to_json_write_file():
dict={}
dict['name']='many'
dict['age']=10
dict['sex']='male'
print(dict)#{'name':'many','age':10,'sex':'male'}
withopen('1.json','w')asf:
json.dump(dict,f)#会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据
if__name__=='__main__':
dict_to_json_write_file()
load()的使用
importjson
defjson_file_to_dict():
withopen('1.json','r')asf:
dict=json.load(fp=f)
print(dict)#{'name':'many','age':10,'sex':'male'}
if__name__=='__main__':
json_file_to_dict()
以上这篇Python之dict(或对象)与json之间的互相转化实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。