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格式化输出字符串方法小结【%与format】
Oct 29 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
windows下numpy下载与安装图文教程
Apr 02 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
linux下python中文乱码解决方案详解
Aug 28 Python
python 字符串常用方法汇总详解
Sep 16 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
Python实现上下文管理器的方法
Aug 07 Python
Python常用模块函数代码汇总解析
Aug 31 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
Oct 23 Python
基于python制作简易版学生信息管理系统
Apr 20 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 setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
php动态生成函数示例
2014/03/21 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
vue v-model的用法解析
2020/10/19 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
Python Web框架Tornado运行和部署
2020/10/19 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
python opencv进行图像拼接
2020/03/27 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
会计专业自荐信
2013/12/02 职场文书
数学教育专业求职信
2014/07/22 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
会议通知格式范文
2015/04/15 职场文书
英文投诉信格式
2015/07/03 职场文书
婚礼答谢词范文
2015/09/29 职场文书
装修安全责任协议书
2016/03/22 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书