code: def load(fp, encoding=None, cls=None, object_hook=None, **kw):
      
      if cls is None:
          cls = JSONDecoder
      if object_hook is not None:
          kw['object_hook'] = object_hook
      return cls(encoding=encoding, **kw).decode(fp.read())
docs: Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
      a JSON document) to a Python object.
  
      If the contents of ``fp`` is encoded with an ASCII based encoding other
      than utf-8 (e.g. latin-1), then an appropriate ``encoding`` name must
      be specified.  Encodings that are not ASCII based (such as UCS-2) are
      not allowed, and should be wrapped with
      ``codecs.getreader(fp)(encoding)``, or simply decoded to a ``unicode``
      object and passed to ``loads()``
  
      ``object_hook`` is an optional function that will be called with the
      result of any object literal decode (a ``dict``).  The return value of
      ``object_hook`` will be used instead of the ``dict``.  This feature
      can be used to implement custom decoders (e.g. JSON-RPC class hinting).
      
      To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
      kwarg.