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获取本机mac地址和ip地址的方法
Apr 29 Python
详解Python中的type()方法的使用
May 21 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
python 进程池pool使用详解
Oct 15 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
怎么用Python识别手势数字
Jun 07 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
2021年最新CPU天梯图
2021/03/04 数码科技
PHP调试函数和日志记录函数分享
2015/01/31 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python中文编码知识点
2019/02/18 Python
Python实现时间序列可视化的方法
2019/08/06 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
新学期开学寄语
2014/01/18 职场文书
招标承诺书
2014/08/30 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
MySQL中一条update语句是如何执行的
2022/03/16 MySQL