Json是用来进行语言之间的数据交换的,它可以在任意语言之间进行。Pyhton中的json源自于JavaScript。 几种常见的json函数 1.Json.dumps() Json.dumps()函数是将所有数据对象转换成字符串形式,如下图所示: 我们可以初步猜测json.dumps(data)执行的过程,先将data中的单引号(‘)转成成双引号(若无单引号则略过此步),再将其最外层加上一对双引号,转换成json的字符串类型。只是我们在输出时看不到最外层的双引号,否则打印的数据类型也不会为str类型了。 这样有什么意义呢?我们知道现在常用语言例如Java,在使用python进行接口测试时,要求传输的null,而我们python中只有None,此时就可以使用json.dumps()来进行转换,如下图所示: 其他数据对象转换如下图:(图片来自网络) 2.Json.loads() Json.loads()函数是将json数据对象转换成对应的python数据对象,如下图所示: 其他数据对象转换如下图所示:(图片来自网络) 3.Json.dump()--仅限于文件写入操作 Json.dump()只是在文件处理时才会使用,它必须使用两个参数,第一参数为python的数据对象,第二个参数为需要写入的文件名。 原理(步骤)为:1.先将python数据对象自动转换成对应的json数据类型;2.再将其写入到需要保存的文件中存放。如下图: 如果使用json.dumps(),则需要对一步处理,如下图所示: 4.Json.load()--仅限于文件读取操作 Json.load()是将读取的文件内容使用json模块转化成对应的python数据类型。 原理(步骤):1.先打开需要读取的文件,2.在使用json自带的功能将读取的内容转换成对应的python数据类型,如下图所示:

Pickle模块 Pickle模块的使用方法与json模块完全相同,唯一的区别就是pickle是将python数据对象转换成了字节的形式,而json是将python数据对象转换成字符串形式。Pickle模块也含有pickle.dumps(),pickle.dump(),pickle.loads(),pickle.load(),他们的使用与json中对应的json.dumps(),json.dump(),json.loads(),json.load()函数的功能及使用方式完全相同。 Pickle相对于json支持更多的数据对象,但在使用中更多的是json。