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遍历删除字典里值为空的元素报错问题
Sep 11 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
多版本Python共存的配置方法
May 22 Python
聊聊Python中的pypy
Jan 12 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
浅谈python 中类属性共享的问题
Jul 02 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
利用python汇总统计多张Excel
Sep 22 Python
详解python对象之间的交互
Sep 29 Python
jupyter 添加不同内核的操作
Feb 06 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中几种常见安全设置详解
2010/04/06 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
理解javascript闭包
2015/12/15 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
validform表单验证的实现方法
2019/03/08 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
医德医魂心得体会
2014/09/11 职场文书
中层干部考核评语
2015/01/04 职场文书
早会开场白台词大全
2015/06/01 职场文书
七年级作文之冬景
2019/11/07 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android
Python的property属性详细讲解
2022/04/11 Python
MySQL数据库 安全管理
2022/05/06 MySQL