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 相关文章推荐
Python3.2模拟实现webqq登录
Feb 15 Python
Python实现发送QQ邮件的封装
Jul 14 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
java判断三位数的实例讲解
Jun 10 Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
PyCharm取消波浪线、下划线和中划线的实现
Mar 03 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
浅谈python中的多态
Jun 15 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
牡丹941资料
2021/03/01 无线电
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python多图片合并PDF的方法
2019/01/03 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
电气自动化大学生求职信
2013/10/16 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
离婚协议书范文2014
2014/10/16 职场文书
2014年学生工作总结
2014/11/20 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
python 逐步回归算法
2021/04/06 Python