python中的json操作 dump() dumps() load() loads()
什么是json,就不用介绍了
python中对json的操作可以使用python自带的json库的 dump() dumps() load() loads()四个方法。
首先说明基本功能:
dumps是将dict转化成str格式,loads是将str转化成dict格式。
dump和load也是类似的功能,只是与文件操作结合起来了。
1.dumps()与loads()
dumps是将dict转化成str格式,loads是将str转化成dict格式。通过代码可以直观地理解。
import json
a = {'name': 'wang', 'age': 29}
b = json.dumps(a)
print b, type(b)
# {"age": 29, "name": "wang"} < type'str' >
json.loads(b)
# {u'age': 29, u'name': u'wang'}
print type(json.loads(b))
# < type'dict' >
2.dumps()与dump() / loads()与load()
dump和load也是类似的功能,只是与文件操作结合起来了。
简单说就是dump需要一个类似于文件指针的参数(并不是真的指针,可称之为类文件对象),可以与文件操作结合,也就是说可以将dict转成str然后存入文件中;而dumps直接给的是str,也就是将字典转成str。
同理,load也需要输入一个文件指针变量。
dump用于写入,配合文件指针fp = file.open('test.txt', 'w')
load用于读出,配合文件指针fp = file.open('test.txt', 'r')
3.dumps和loads实现原理。
dumps简单说就是讲python中的各种数据类型,转换为json的类型。loads同理,将json的类型转换为python支持的类型。
下表是dumps后的类型转换
loads后的类型转换
4.处理自己的数据类型
比较复杂,本文暂不探讨。有兴趣的同学可以在参考文献《2. Json概述以及python对json的相关操作》查看相关内容。
参考文献:
1. Python操作json的标准api库参考:http://docs.python.org/library/json.html
2. Json概述以及python对json的相关操作 https://blog.csdn.net/hellovictoria/article/details/42236753
3. python json.dumps() json.dump()的区别 https://www.cnblogs.com/wswang/p/5411826.html
推荐阅读
-
python中的json操作 dump() dumps() load() loads()
-
如何利用Python里面的json中的dump()/dumps()函数处理中文
-
json.dumps()、json.loads()和json.dump()、json.load()
-
Python json模块dumps、loads操作示例
-
Python中json.dumps()函数的使用解析
-
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
-
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
-
python的eval和json.loads(),json.dumps()
-
Python Json模块中dumps、loads、dump、load函数介绍
-
Python json中一直搞不清的load、loads、dump、dumps、eval