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的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
Python编程图形库之Pillow使用方法讲解
Dec 28 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
python+pygame实现坦克大战
Sep 10 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
Python实现多线程下载脚本的示例代码
Apr 03 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
使用python实现学生信息管理系统
Feb 25 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 Python
Python 数据可视化之Seaborn详解
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获取mysql版本的几种方法小结
2008/03/25 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
php构造函数与析构函数
2016/04/23 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
javascript new 需不需要继续使用
2009/07/02 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
python不换行之end=与逗号的意思及用途
2017/11/21 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
中小学生安全教育观后感
2015/06/17 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL