Python之dict(或对象)与json之间的互相转化实例


Posted in Python onJune 05, 2018

在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。

在Python中自带json库。通过import json导入。

在json模块有2个方法,

loads():将json数据转化成dict数据

dumps():将dict数据转化成json数据

load():读取json文件数据,转成dict数据

dump():将dict数据转化成json数据后写入json文件

下面是具体的示例:

dict字典转json数据

import json
def dict_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数据

import json
def obj_to_json():
 stu = Student('007', '007', 28, 'male', '13000000000', '123@qq.com')
 print(type(stu)) # <class 'json_test.student.Student'>
 stu = stu.__dict__ # 将对象转成dict字典
 print(type(stu)) # <class 'dict'>
 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字典

import json
def json_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数据转成对象

import json
def json_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: 007 name: 007 age: 28 sex: male phone: 13000000000 email: 123@qq.com
if __name__ == '__main__':
 json_to_obj()

json的load()与dump()方法的使用

dump()方法的使用

import json
def dict_to_json_write_file():
 dict = {}
 dict['name'] = 'many'
 dict['age'] = 10
 dict['sex'] = 'male'
 print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'}
 with open('1.json', 'w') as f:
 json.dump(dict, f) # 会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据
if __name__ == '__main__':
 dict_to_json_write_file()

load()的使用

import json
def json_file_to_dict():
 with open('1.json', 'r') as f:
 dict = json.load(fp=f)
 print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'}
if __name__ == '__main__':
 json_file_to_dict()

以上这篇Python之dict(或对象)与json之间的互相转化实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 文件和路径操作函数小结
Nov 23 Python
Python中random模块生成随机数详解
Mar 10 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
python树莓派红外反射传感器
Jan 21 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
Django 外键的使用方法详解
Jul 19 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
Django和Flask框架优缺点对比
Oct 24 Python
Django models文件模型变更错误解决
May 11 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 Python
python简单实现插入排序实例代码
Dec 16 Python
opencv读取视频并保存图像的方法
Jun 04 Python
对pandas中to_dict的用法详解
Jun 05 #Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 #Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 #Python
Python实现迭代时使用索引的方法示例
Jun 05 #Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 #Python
django反向解析和正向解析的方式
Jun 05 #Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 #Python
You might like
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
python中实现指定时间调用函数示例代码
2017/09/08 Python
Django实现快速分页的方法实例
2017/10/22 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
int在python中的含义以及用法
2019/06/27 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
护理人员的自我评价分享
2014/03/15 职场文书
购房个人委托书范本
2014/10/11 职场文书
小学运动会开幕词
2015/01/28 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python