欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的json操作 dump() dumps() load() loads()

程序员文章站 2024-02-03 13:54:58
...

什么是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后的类型转换

python中的json操作 dump() dumps() load() loads()

loads后的类型转换

python中的json操作 dump() dumps() load() 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