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 21 Python
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
python虚拟环境virualenv的安装与使用
Dec 18 Python
python paramiko模块学习分享
Aug 23 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
python实现多进程代码示例
Oct 31 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
python如何处理程序无法打开
Jun 16 Python
python suds访问webservice服务实现
Jun 26 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
python实现股票历史数据可视化分析案例
Jun 10 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中变量及部分适用方法
2008/03/27 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
AngularJS语法详解
2015/01/23 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
JS实现放大镜效果
2020/09/21 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
python实现端口转发器的方法
2015/03/13 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
分析Python中解析构建数据知识
2018/01/20 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
python内置模块collections知识点总结
2019/12/19 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
产品销售员岗位职责
2013/12/18 职场文书
小学二年级评语
2014/04/21 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
大学军训的体会
2014/11/08 职场文书
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技