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实现批量读取word中表格信息的方法
Jul 30 Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 Python
python去除扩展名的实例讲解
Apr 23 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python生成带有表格的图片实例
Feb 03 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
详解PyTorch模型保存与加载
Apr 28 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 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
3
2006/10/09 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
js单词形式的运算符
2014/05/06 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
js实现图片实时时钟
2020/01/15 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
对python 命令的-u参数详解
2018/12/03 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
Python super()方法原理详解
2020/03/31 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
旷课检讨书大全
2014/01/21 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
服装店员工管理制度
2015/08/07 职场文书
《花钟》教学反思
2016/02/17 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技