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入门教程
Feb 08 Python
python ip正则式
May 07 Python
Python自动化测试工具Splinter简介和使用实例
May 13 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
在Python中append以及extend返回None的例子
Jul 20 Python
python分布式编程实现过程解析
Nov 08 Python
Python 模拟生成动态产生验证码图片的方法
Feb 01 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
python中数字是否为可变类型
Jul 08 Python
Python学习笔记之装饰器
Aug 06 Python
python获取linux系统信息的三种方法
Oct 14 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+ajax 无刷新删除数据
2010/02/20 PHP
php实现RSA加密类实例
2015/03/26 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jQuery入门知识简介
2010/03/04 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
vue实现记事本功能
2019/06/26 Javascript
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
一些网络技术方面的面试题
2014/05/01 面试题
工厂门卫岗位职责
2013/11/25 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
户外亲子活动策划方案
2014/02/07 职场文书
创建文明学校实施方案
2014/03/11 职场文书
个人公开承诺书
2014/03/28 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
党风廉正建设责任书
2015/01/29 职场文书
大学生英文求职信范文
2015/03/19 职场文书
大学生实习证明
2015/06/16 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
教你怎么用Python生成九宫格照片
2021/05/20 Python