python字典与json转换的方法总结


Posted in Python onDecember 28, 2020

在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法。使用json.dumps可以把字典转成json字符串。使用json.loads可以把json字符串转为字典类型的数据。

1、字典转json

使用json.dumps

json.dumps是对python对象编码成json对象,可以把字典转成json字符串。

方法格式

#字典转换成json字符串 
json.dumps(dict)

实例

# 创建字典
info_dict = {'name': 'Joe', 'age': 20, 'job': 'driver'}
# dumps 将数据转换成字符串
info_json = json.dumps(info_dict,sort_keys=False, indent=4, separators=(',', ': '))
# 显示数据类型
print(type(info_json))
f = open('info.json', 'w')
f.write(info_json)

2、json转字典

使用json.loads

json.loads是将json对象解码成python对象,即用于将字典类型的数据转成json字符串。

方法格式

#json字符串转换成字典
json.loads(json_str)

使用实例

In [25]: j 
Out[25]: '{"name": "mary", "age": 21}' 
In [26]: result = json.loads(j) 
In [27]: result 
Out[27]: {'name': 'mary', 'age': 21} 
In [28]: type(result) 
Out[28]: dict

python字典和json字符串相互转化的实例扩展

import json
"""
dumps:将python中的字典转换为字符串
output:
{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
{"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}
"""
def json_dumps():
json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
print(type(json_dict))
print(json_dict)
json_str = json.dumps(json_dict)
print(type(json_str))
print(json_str)
"""
dump:将数据写入json文件中
"""
def json_dump():
json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
with open("../file/record.json", "w")as f:
json.dump(json_dict, f)
print("finished")
"""
loads:将字符串转换为字典
output:
{"fontFamily": "微软雅黑", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}
{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
"""
def json_loads():
json_str = '{"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}'
print(type(json_str))
print(json_str)
json_dict = json.loads(json_str)
print(type(json_dict))
print(json_dict)
"""
load:读文件,并把字符串变换为Python数据类型
output:
40
{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
"""
def json_load():
f = open("../file/record.json", encoding='utf-8')
setting = json.load(f)
print(setting['BaseSettings']['size']['length'])
setting['BaseSettings']['size']['length'] = 40
print(setting)
if __name__ == '__main__':
json_dumps()
json_dump()
json_loads()
json_load()

到此这篇关于python字典与json转换的方法总结的文章就介绍到这了,更多相关python中字典与json相互转换的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 正则表达式入门(初级篇)
Dec 07 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python3中关于cookie的创建与保存
Oct 21 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
python 使用shutil复制图片的例子
Dec 13 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python中对列表的删除和添加方法详解
Feb 24 Python
python字典按照value排序方法
Dec 28 #Python
python Timer 类使用介绍
Dec 28 #Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 #Python
python获取天气接口给指定微信好友发天气预报
Dec 28 #Python
详解python 条件语句和while循环的实例代码
Dec 28 #Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
Dec 28 #Python
python函数超时自动退出的实操方法
Dec 28 #Python
You might like
PHP 采集获取指定网址的内容
2010/01/05 PHP
php木马webshell扫描器代码
2012/01/25 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
php计算整个目录大小的方法
2015/06/01 PHP
PHP文件操作方法汇总
2015/07/01 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
PHP函数超时处理方法
2016/02/14 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
python 如何在测试中使用 Mock
2021/03/01 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
主持人演讲稿
2014/05/13 职场文书
相亲活动方案
2014/08/26 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
领导干部作风建设总结
2014/10/23 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
婚前保证书范文
2015/02/28 职场文书
公司岗位说明书
2015/10/08 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
MYSQL 运算符总结
2021/11/11 MySQL
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL