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 相关文章推荐
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
使用python turtle画高达
Jan 19 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
python matplotlib库的基本使用
Sep 23 Python
Python中else的三种使用场景
Jun 16 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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实现文件下载实例分享
2014/06/02 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
JS实现self的resend
2010/07/22 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
python自定义类并使用的方法
2015/05/07 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
python 日期操作类代码
2018/05/05 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python如何绘制日历图和热力图
2020/08/07 Python
Python中的面向接口编程示例详解
2021/01/17 Python
通知函格式范文
2015/04/27 职场文书
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS