Python Json模块中dumps、loads、dump、load函数介绍


Posted in Python onMay 15, 2018

Json模块dumps、loads、dump、load函数介绍

1、json.dumps()

 json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

import json 
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
 
jsObj = json.dumps(name_emb)   
 
print(name_emb) 
print(jsObj) 
 
print(type(name_emb)) 
print(type(jsObj))

运行结果如下:

{'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
{"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
<type 'dict'>
<type 'str'>

若在数据写入json文件时,未先进行转换,报错如下

import json    
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
      
emb_filename = ('/home/cqh/faceData/emb_json.json')  
  
# jsObj = json.dumps(name_emb)   
  
with open(emb_filename, "w") as f:  
  f.write(name_emb)  
  f.close()

Python Json模块中dumps、loads、dump、load函数介绍

转换后再写入,则不报错

Python Json模块中dumps、loads、dump、load函数介绍

2、json.loads()

json.loads()用于将str类型的数据转成dict。

import json   
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
 
jsDumps = json.dumps(name_emb)   
 
jsLoads = json.loads(jsDumps)  
 
print(name_emb) 
print(jsDumps) 
print(jsLoads) 
 
print(type(name_emb)) 
print(type(jsDumps)) 
print(type(jsLoads))

运行结果如下:

'a'变成了u'a'是因为发生了类型转换,str会转换成unicode

{'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
{"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
<type 'dict'>
<type 'str'>
<type 'dict'>

3、json.dump()

json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

import json  
  
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
      
emb_filename = ('/home/cqh/faceData/emb_json.json')  
 
# solution 1 
jsObj = json.dumps(name_emb)   
with open(emb_filename, "w") as f:  
  f.write(jsObj)  
  f.close()  
   
# solution 2   
json.dump(name_emb, open(emb_filename, "w"))

运行结果如下:

Python Json模块中dumps、loads、dump、load函数介绍

4、json.load()

json.load()用于从json文件中读取数据。

import json  
 
emb_filename = ('/home/cqh/faceData/emb_json.json')  
 
jsObj = json.load(open(emb_filename))   
 
print(jsObj) 
print(type(jsObj)) 
 
for key in jsObj.keys(): 
  print('key: %s  value: %s' % (key,jsObj.get(key)))

运行结果如下:

{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
<type 'dict'>
key: a value: 1111
key: c value: 3333
key: b value: 2222
key: d value: 4444

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python NumPy库安装使用笔记
May 18 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
python迭代器常见用法实例分析
Nov 22 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
python字典的值可以修改吗
Jun 29 Python
keras的ImageDataGenerator和flow()的用法说明
Jul 03 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 Python
Python Matplotlib绘制动画的代码详解
May 30 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 #Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 #Python
浅析PHP与Python进行数据交互
May 15 #Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 #Python
django自带的server 让外网主机访问方法
May 14 #Python
Python中利用xpath解析HTML的方法
May 14 #Python
利用pyinstaller将py文件打包为exe的方法
May 14 #Python
You might like
[转帖]PHP世纪万年历
2006/12/06 PHP
关于php循环跳出的问题
2013/07/01 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
django框架创建应用操作示例
2019/09/26 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
俄罗斯品牌服装和鞋子在线商店:BRIONITY
2020/03/26 全球购物
简短大学毕业感言
2014/01/18 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
组织生活会发言材料
2014/12/15 职场文书
音乐课外活动总结
2015/05/09 职场文书
《植树问题》教学反思
2016/03/03 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang