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实现二分法算法实例
Feb 02 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
python字符串,数值计算
Oct 05 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
对Python中的@classmethod用法详解
Apr 21 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
常用的10个Python实用小技巧
Aug 10 Python
如何用python绘制雷达图
Apr 24 Python
一篇文章弄懂Python中的内建函数
Aug 07 Python
Python中itertools库的四个函数介绍
Apr 06 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
python3设计模式之简单工厂模式
2017/10/17 Python
tornado+celery的简单使用详解
2019/12/21 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
python中什么是面向对象
2020/06/11 Python
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
中秋节国旗下演讲稿
2014/09/05 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
详解Python中的进程和线程
2021/06/23 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python