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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
Python的print用法示例
Feb 11 Python
java直接调用python脚本的例子
Feb 16 Python
python操作摄像头截图实现远程监控的例子
Mar 25 Python
python实现探测socket和web服务示例
Mar 28 Python
Python3搜索及替换文件中文本的方法
May 22 Python
python实现用户登录系统
May 21 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
Python的条件锁与事件共享详解
Sep 12 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 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作的文本留言本的例子(三)
2006/10/09 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
vue实现弹幕功能
2019/10/25 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
.net C#面试题
2012/08/28 面试题
公司清洁工岗位职责
2013/12/14 职场文书
保护环境建议书
2014/03/12 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
服务明星事迹材料
2014/12/29 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
立案决定书范文
2015/06/24 职场文书