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实现生成随机密码的方法
Aug 23 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
Python中表示字符串的三种方法
Sep 06 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
PyTorch上实现卷积神经网络CNN的方法
Apr 28 Python
使用matplotlib画散点图的方法
May 25 Python
对python:print打印时加u的含义详解
Dec 15 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
python如何输出反斜杠
Jun 18 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
中止javascript执行的方法
2014/02/14 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
详解Python进程间通信之命名管道
2017/08/28 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python创造虚拟环境方法总结
2019/03/04 Python
numpy数组广播的机制
2019/07/12 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
英语教师自荐信
2014/05/26 职场文书
美食节策划方案
2014/05/26 职场文书
普通员工辞职信范文
2015/05/12 职场文书
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技