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通过索引遍历列表的方法
May 04 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
详解Python之unittest单元测试代码
Jan 24 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python多进程控制学习小结
Oct 31 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
基于Python fminunc 的替代方法
Feb 29 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
PyQt5实现画布小程序
May 30 Python
Python中request的基本使用解决乱码问题
Apr 12 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
追求程序速度,而不是编程的速度
2008/04/23 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
php生成短网址示例
2014/05/05 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
Yii2中datetime类的使用
2016/12/17 PHP
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python去掉行尾的换行符方法
2017/01/04 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
一套比较完整的软件测试人员面试题
2012/05/13 面试题
国家助学金获奖感言
2014/01/31 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
活动经费申请报告
2015/05/15 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书