Подтвердить что ты не робот

В чем разница между json.dumps и json.load?

В чем разница между json.dumps и json.load?

По моему мнению, один загружает JSON в словарь и другой загружается в объекты.

4b9b3361

Ответ 1

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 -less как обертках вокруг функций s:

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

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

Ответ 2

json load → возвращает объект из строки, представляющей объект json.

json dumps → возвращает строку, представляющую объект json из объекта.

load и dump → чтение/запись из/в файл вместо строки