What is the difference between json.dumps and json.load?

What is the difference between json.dumps and json.load?

From my understanding, one loads JSON into a dictionary and another loads into objects.

dumps takes an object and produces a string:

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

load would take a file-like object, read the data from that object, and use that string to create an object:

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

Note that dump and load convert between files and objects, while dumps and loads convert between strings and objects. You can think of the s-less functions as wrappers around the s functions:

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

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

From: stackoverflow.com/q/32911336