json.dumps和json.load有什么区别?

时间:2015-10-02 16:06:22

标签: python json

json.dumpsjson.load之间的区别是什么?

根据我的理解,将JSON加载到字典中,将另一个加载到对象中。

2 个答案:

答案 0 :(得分:154)

dumps获取一个对象并生成一个字符串:

>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'

load将获取类似文件的对象,从该对象读取数据,并使用该字符串创建对象:

with open('file.json') as fh:
    a = json.load(fh)

请注意dumpload在文件和对象之间进行转换,而dumpsloads字符串和对象之间进行转换。您可以将s - 更少的函数视为s函数的包装器:

def dump(obj, fh):
    fh.write(dumps(obj))

def load(fh):
    return loads(fh.read())

答案 1 :(得分:60)

json加载 - >从表示json对象的字符串返回一个对象。

json转储 - >返回一个表示来自对象的json对象的字符串。

加载和转储 - >读/写文件而不是字符串