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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
Python优先队列实现方法示例
Sep 21 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python中的上下文管理器相关知识详解
Sep 19 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
Oct 16 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
python能在浏览器能运行吗
Jun 17 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 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学习之数组的定义和填充
2011/04/17 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
javascript CSS画图之基础篇
2009/07/29 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
python使用opencv读取图片的实例
2017/08/17 Python
pandas值替换方法
2018/07/10 Python
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
C#可否对内存进行直接的操作
2015/02/26 面试题
大学信息公开实施方案
2014/03/09 职场文书
党风廉政建设责任书
2014/04/14 职场文书
入股协议书范本
2014/11/01 职场文书
房屋认购协议书
2015/01/29 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
企业党建工作总结2015
2015/05/26 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
2016年十一促销广告语
2016/01/28 职场文书
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL