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实现网站文件的全备份和差异备份
Nov 30 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
python使用super()出现错误解决办法
Aug 14 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
感知器基础原理及python实现过程详解
Sep 30 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
python实现飞船大战
Apr 24 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 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提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
python合并文本文件示例
2014/02/07 Python
python实现获取Ip归属地等信息
2016/08/27 Python
python机器人行走步数问题的解决
2018/01/29 Python
Python中协程用法代码详解
2018/02/10 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
高中语文教学反思范文
2016/02/16 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
Pyhton模块和包相关知识总结
2021/05/12 Python
Python中json.dumps()函数的使用解析
2021/05/17 Python
详解redis在微服务领域的贡献
2021/10/16 Redis