json.dumps
和json.load
之间的区别是什么?
根据我的理解,将JSON加载到字典中,将另一个加载到对象中。
答案 0 :(得分:154)
dumps
获取一个对象并生成一个字符串:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load
将获取类似文件的对象,从该对象读取数据,并使用该字符串创建对象:
with open('file.json') as fh:
a = json.load(fh)
请注意dump
和load
在文件和对象之间进行转换,而dumps
和loads
在字符串和对象之间进行转换。您可以将s
- 更少的函数视为s
函数的包装器:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
答案 1 :(得分:60)
json加载 - >从表示json对象的字符串返回一个对象。
json转储 - >返回一个表示来自对象的json对象的字符串。
加载和转储 - >读/写文件而不是字符串