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运算符重载用法实例
May 28 Python
python黑魔法之编码转换
Jan 25 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
python爬虫基本知识
Mar 05 Python
Python实战之制作天气查询软件
May 14 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 Python
Python编写nmap扫描工具
Jul 21 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
php二维数组排序详解
2013/11/06 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
js操作二进制数据方法
2018/03/03 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
Python lxml模块安装教程
2015/06/02 Python
Python中for循环和while循环的基本使用方法
2015/08/21 Python
Python实现带百分比的进度条
2016/06/28 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
wxpython布局的实现方法
2019/11/01 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
政治学专业毕业生求职信
2014/08/11 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
精神病医院见习报告
2014/11/03 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL