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创建日历实例
Aug 21 Python
Python实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
对Python3中dict.keys()转换成list类型的方法详解
Feb 03 Python
python爬取内容存入Excel实例
Feb 20 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
Django的CVB实例详解
Feb 10 Python
Python 去除字符串中指定字符串
Mar 05 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 Python
浅谈Python协程
Jun 17 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
php strftime函数的详细用法
2018/06/21 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
DOM精简教程
2006/10/03 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python中获取网页状态码的两个方法
2014/11/03 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
Python读写ini文件的方法
2015/05/28 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
给民警的表扬信
2014/01/08 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
函授生自我鉴定
2014/03/25 职场文书
企业形象策划方案
2014/05/29 职场文书
培根随笔读书笔记
2015/07/01 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
Python OpenCV 图像平移的实现示例
2021/06/04 Python
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js