首先一般json.dump()一般很少用,出现这样的问题一般是因为在输入的时候不注意,错将dumps()写作了dump();
(一)作用:
- dumps()是将dict转化为str格式,loads是将str转化为dict格式;
- dump()和load()也是类似的作用,只是将之与文件操作以结合;
import json
data = {
'no': 1,
'name':'guobaoyan',
'url':'http://runoob.com'
}
json_str = json.dumps(data)
print("Python原始数据:", repr(data))
print("JSON对象:", json_str)
# Python原始数据: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'}
# JSON对象: {"no": 1, "name": "guobaoyan", "url": "http://runoob.com"}
(二)区别:
dump() 需要一个对文件进行操作的参数;
- dump()函数将dict转换成str,之后存入文件之中;
- dumps()函数将dict转换为str,并不进行保存;
import json
data = {
'no': 1,
'name':'guobaoyan',
'url':'http://runoob.com'
}
json_str = json.dumps(data)
print("Python原始数据:", repr(data))
print("JSON对象:", json_str)
# Python原始数据: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'}
# JSON对象: {"no": 1, "name": "guobaoyan", "url": "http://runoob.com"}
# 在文件中打开可以看见
json_str1 = json.dump(data, open("str1.txt", 'w'))