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 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
python实现猜数游戏
Mar 27 Python
PyQt5实现简单的计算器
May 30 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 Python
Python实现日志实时监测的示例详解
Apr 06 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 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
一个用于网络的工具函数库
2006/10/09 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python打印输出数组中全部元素
2018/03/13 Python
python for 循环获取index索引的方法
2019/02/01 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
网络管理员岗位职责
2015/02/12 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
python3 hdf5文件 遍历代码
2021/05/19 Python
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL