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抓取网页图片示例(python爬虫)
Apr 27 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
Python的UTC时间转换讲解
Feb 26 Python
Django 重写用户模型的实现
Jul 29 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
wxPython实现分隔窗口
Nov 19 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
Django视图、传参和forms验证操作
Jul 15 Python
基于Python正确读取资源文件
Sep 14 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 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 mssql 时间格式问题
2009/01/13 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
Python set集合类型操作总结
2014/11/07 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Pandas之缺失数据的实现
2021/01/06 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
JPA的特点
2014/10/25 面试题
传播学专业毕业生自荐书
2014/07/01 职场文书
2014年销售工作总结
2014/12/01 职场文书
建党伟业的观后感
2015/06/01 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python