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获得linux下所有挂载点(mount points)的方法
Apr 29 Python
使用简单工厂模式来进行Python的设计模式编程
Mar 01 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
python学习开发mock接口
Apr 28 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
Python高级编程之继承问题详解(super与mro)
Nov 19 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
Python绘制组合图的示例
Sep 18 Python
pandas处理csv文件的方法步骤
Oct 16 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 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数组及条件,循环语句学习
2012/11/11 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
php session的锁和并发
2016/01/22 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
JavaScript 三种创建对象的方法
2009/10/16 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
常用python数据类型转换函数总结
2014/03/11 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
用Python解决x的n次方问题
2019/02/08 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python自动下载图片的方法示例
2020/03/25 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
中专三年学习的个人自我评价
2013/12/12 职场文书
简历上的自我评价
2014/02/03 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
安全员岗位职责范本
2015/04/11 职场文书
晚会开场白和结束语
2015/05/29 职场文书
pytorch MSELoss计算平均的实现方法
2021/05/12 Python