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中的random()方法的使用介绍
May 15 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
对python读取zip压缩文件里面的csv数据实例详解
Feb 08 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
Python numpy多维数组实现原理详解
Mar 10 Python
python实现贪吃蛇双人大战
Apr 18 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
图片完美缩放
2006/09/07 Javascript
javascript 写类方式之四
2009/07/05 Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
Vue面试题及Vue知识点整理
2018/10/07 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
python 实时遍历日志文件
2016/04/12 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python使用多进程的实例详解
2018/09/19 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
英国电子专家:maplin
2019/09/04 全球购物
个人思想理论学习的自我鉴定
2013/11/30 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
运动会演讲稿100字
2014/08/25 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
Java的Object类的九种方法
2022/04/13 Java/Android