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判断操作系统类型代码分享
Nov 22 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
python自动化报告的输出用例详解
May 30 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
python反编译学习之字节码详解
May 19 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
python中如何使用虚拟环境
Oct 14 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
python安装mysql的依赖包mysql-python操作
Jan 01 Python
用python-webdriver实现自动填表的示例代码
Jan 13 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 socket方式提交的post详解
2008/07/19 PHP
PHP中“=&gt;
2019/03/01 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
django删除表重建的实现方法
2019/08/28 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python进行参数传递的方法
2020/05/12 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
python中实现词云图的示例
2020/12/19 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
英语硕士生求职简历的自我评价
2013/10/15 职场文书
毕业生简单求职信
2013/11/19 职场文书
关于赌博的检讨书
2014/01/08 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
会计专业自荐书
2014/07/08 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书