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 相关文章推荐
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python中的os.path路径模块中的操作方法总结
Jul 07 Python
Python 登录网站详解及实例
Apr 11 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
PyQt5每天必学之事件与信号
Apr 20 Python
详解python中@的用法
Mar 27 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
python3让print输出不换行的方法
Aug 24 Python
python中常用的数据结构介绍
Jan 12 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 Python
Django drf请求模块源码解析
Jun 08 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
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
全面了解js中的script标签
2016/07/04 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
python抓取最新博客内容并生成Rss
2015/05/17 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
简单了解python反射机制的一些知识
2019/07/13 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python爬虫实现获取下一页代码
2020/03/13 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
新闻专业个人自我评价
2013/09/21 职场文书
儿科护士实习自我鉴定
2013/10/17 职场文书
有关爱国演讲稿
2014/05/07 职场文书
运动会演讲稿50字
2014/08/25 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
MySQL创建定时任务
2022/01/22 MySQL
Go语言怎么使用变长参数函数
2022/07/15 Golang