转自:http://blog.csdn.net/mr_evanchen/article/details/77879967

Json模块dumps、loads、dump、load函数介绍

1、json.dumps()

json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

[python] view plain copy
  1. import json
  2. name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
  3. jsObj = json.dumps(name_emb)
  4. print(name_emb)
  5. print(jsObj)
  6. print(type(name_emb))
  7. print(type(jsObj))

运行结果如下:

[python] view plain copy
  1. {'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
  2. {"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
  3. <type 'dict'>
  4. <type 'str'>

若在数据写入json文件时,未先进行转换,报错如下

[python] view plain copy
  1. import json
  2. name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
  3. emb_filename = ('/home/cqh/faceData/emb_json.json')
  4. # jsObj = json.dumps(name_emb)
  5. with open(emb_filename, "w") as f:
  6. f.write(name_emb)
  7. f.close()

转换后再写入,则不报错

2、json.loads()

json.loads()用于将str类型的数据转成dict。

[python] view plain copy
  1. import json
  2. name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
  3. jsDumps = json.dumps(name_emb)
  4. jsLoads = json.loads(jsDumps)
  5. print(name_emb)
  6. print(jsDumps)
  7. print(jsLoads)
  8. print(type(name_emb))
  9. print(type(jsDumps))
  10. print(type(jsLoads))

运行结果如下:

'a'变成了u'a'是因为发生了类型转换,str会转换成unicode

[python] view plain copy
  1. {'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
  2. {"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
  3. {u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
  4. <type 'dict'>
  5. <type 'str'>
  6. <type 'dict'>

 3、json.dump()

json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

[python] view plain copy
  1. import json
  2. name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
  3. emb_filename = ('/home/cqh/faceData/emb_json.json')
  4. # solution 1
  5. jsObj = json.dumps(name_emb)
  6. with open(emb_filename, "w") as f:
  7. f.write(jsObj)
  8. f.close()
  9. # solution 2
  10. json.dump(name_emb, open(emb_filename, "w"))

运行结果如下:

 4、json.load()

json.load()用于从json文件中读取数据。

[python] view plain copy
  1. import json
  2. emb_filename = ('/home/cqh/faceData/emb_json.json')
  3. jsObj = json.load(open(emb_filename))
  4. print(jsObj)
  5. print(type(jsObj))
  6. for key in jsObj.keys():
  7. print('key: %s   value: %s' % (key,jsObj.get(key)))

运行结果如下:

[python] view plain copy
  1. {u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
  2. <type 'dict'>
  3. key: a   value: 1111
  4. key: c   value: 3333
  5. key: b   value: 2222
  6. key: d   value: 4444

转载于:https://www.cnblogs.com/fengff/p/8289347.html

Json模块dumps、loads、dump、load函数介绍相关推荐

  1. python loads的用法,Python Json模块中dumps、loads、dump、load函数介绍

    json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文 ...

  2. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  3. python教程:Json模块中dumps、dump、loads、load函数用法讲解

    1.json.dumps()和loads() json.dumps()将dict类型数据转成str. json.loads()刚好相反,将str类型的数据转成dict. import json dat ...

  4. json模块 dunms,loads, dum,load 函数介绍

    1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ...

  5. Python 中的json模块dumps参数详解

    1.什么是JSON 维基百科中的定义: JSON(JavaScript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计.轻量级的资料交换语言,该 ...

  6. 转载: Python os 模块的功能以及子函数介绍

    原文链接: python之os模块 - 程序生(Codey) - 博客园 https://www.cnblogs.com/cxscode/p/8085326.html 一.Python OS模块介绍 ...

  7. python json模块有什么用_Python的json模块及使用

    import json # json 是 js 下的内容各个语言交流的数据交换方式 # 字典 dict1 = {'name': 'joe', 'age': '18'} data = json.dump ...

  8. Python中json模块的使用,以及json.loads()和json.dumps()的区别

    在Python 中,json模块中提供了一种很简单的方式来编码和解码JSON数据. 1. json.dumps() 和 json.loads(),这两个都是json()格式处理函数. json.dum ...

  9. Python中json模块的load/loads方法实战及参数详解

    文章目录 前言 正文 1. loads方法与load方法的异同 1.1不相同点: 1.2 相同点 1.3 例子 2. 转换成Python对象 3. json.load(s)的参数 3.1 s参数 3. ...

最新文章

  1. Memcached 缓存系统的-介绍、安装以及应用
  2. 直播预告 | 双边分支网络BBN:攻坚长尾分布的现实世界任务
  3. 湖南人文科技学院没有计算机一级能毕业吗,在湖南人文科技学院读书真的是生不如死...
  4. html透明度_学好Web前端开发,必要了解的HTML+CSS的技巧有哪些
  5. Codeforces 1093D Beautiful Graph
  6. Python爬虫入门之Urllib库的基本使用
  7. grid列的值格式化
  8. Java事务管理之JDBC
  9. C#版 - Leetcode 201. 数字范围按位与(bitwise AND) - 题解
  10. 多核cpu的特殊中断
  11. pdf论文中visio画的图出现Times New Roman 字体未嵌入
  12. CSS3实现折角效果
  13. 使用github免费搭建个人博客后的写作及上传说明
  14. 什么是DNS,FTP,HTTP,DHCP及用途
  15. 多线程如何等待所有子线程一起完成任务后再执行主线程
  16. 架构思维成长系列教程(十二)- 云平台架构设计
  17. batman-adv中OGM学习包代码处理流程
  18. 在uniapp中怎么实现邀请好友
  19. 跑步运动耳机哪个牌子好,值得推荐的六款跑步运动耳机
  20. 说说entity、model、domain是什么东西?

热门文章

  1. arcgis栅格计算器python教程_ArcGIS栅格计算器
  2. m.pythontab.com_Python expandtabs()函数的使用
  3. oralce mysql_Oralce和Mysql的3个区别
  4. 品牌网络推广方案浅析在编写文章标题时都有什么技巧?
  5. 教育培训行业如何在抖音快速获客、变现?
  6. 女生学计算机教学,女生学计算机专业好吗 计算机辅助数学教学之我见
  7. 蓝牙连接不上车要hfp_蓝牙耳机的音质由什么因素决定?价格高的蓝牙耳机音质一定好吗?...
  8. 开发日记-20190401
  9. wiredtiger存储引擎介绍——本质就是LSM,当然里面也可以包含btree和列存储
  10. Bash: Removing leading zeroes from a variable