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中的继承和多态的概念
Apr 27 Python
python黑魔法之参数传递
Feb 12 Python
Python读写/追加excel文件Demo分享
May 03 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 Python
Python 中判断列表是否为空的方法
Nov 24 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
Django 项目布局方法(值得推荐)
Mar 22 Python
Python request操作步骤及代码实例
Apr 13 Python
Python检测端口IP字符串是否合法
Jun 05 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 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实现读取超大文件的方法
2014/07/28 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
JS实现打字游戏
2019/12/17 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
利用python 下载bilibili视频
2020/11/13 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
自荐书范文
2013/12/08 职场文书
党员培训思想汇报
2014/01/07 职场文书
好人好事演讲稿
2014/09/01 职场文书
实习生工作证明范本
2014/09/14 职场文书
幼师自荐信范文
2015/03/06 职场文书
水电施工员岗位职责
2015/04/11 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2016年元旦寄语
2015/08/17 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
Golang的继承模拟实例
2021/06/30 Golang