一、介绍
- json.dumps() 与 json.loads() 成对出现
- json.dump() 与 json.load() 成对出现
dumps() 与 dump() 作用相同,均是为了将json数据转成string类型数据;loads() 与 loads() 作用相同,均是为了将json string数据转成json类型数据
二、json.dumps() json.dump()区别
import json
info = {'name': 'shanshan', 'age': 1}
info2 = json.dumps(info)
print("-------------dumps and loads-------------------")
print("info2={}, type={}".format(info2, type(info2)))
info3 = json.loads(info2)
print("info3={}, type={}".format(info3, type(info3)))
print("-------------dumps and loads-------------------")
info4 = json.dump(info)
print("error info4={}, type={}".format(info4, type(info4)))
输出结果:
Traceback (most recent call last):
File "/Users/username/PycharmProjects/MyFirstPythonDemo/jsontest/Dumps.py", line 10, in <module>
info4 = json.dump(info)
TypeError: dump() missing 1 required positional argument: 'fp'
-------------dumps and loads-------------------
info2={"name": "shanshan", "age": 1}, type=<class 'str'>
info3={'name': 'shanshan', 'age': 1}, type=<class 'dict'>
-------------dumps and loads-------------------
上述结果可以看到使用json.dump(info)
程序报错,提示信息说的意思是缺少一个必要参数fp,fp实质是一个文件对象。因此,可以发现dumps() 与 dump() 的参数不同,dump()需要多一个fp参数,作用是把转成的string类型数据放到这个文件中