docs: def load(fp, encoding=None, cls=None, object_hook=None, parse_float=None,
          parse_int=None, parse_constant=None, object_pairs_hook=None,
          use_decimal=False, **kw):
      """Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
      a JSON document) to a Python object.
  
      *encoding* determines the encoding used to interpret any
      :class:`str` objects decoded by this instance (``'utf-8'`` by
      default).  It has no effect when decoding :class:`unicode` objects.
  
      Note that currently only encodings that are a superset of ASCII work,
      strings of other encodings should be passed in as :class:`unicode`.
  
      *object_hook*, if specified, will be called with the result of every
      JSON object decoded and its return value will be used in place of the
      given :class:`dict`.  This can be used to provide custom
      deserializations (e.g. to support JSON-RPC class hinting).
  
      *object_pairs_hook* is an optional function that will be called with
      the result of any object literal decode with an ordered list of pairs.
      The return value of *object_pairs_hook* will be used instead of the
      :class:`dict`.  This feature can be used to implement custom decoders
      that rely on the order that the key and value pairs are decoded (for
      example, :func:`collections.OrderedDict` will remember the order of
      insertion). If *object_hook* is also defined, the *object_pairs_hook*
      takes priority.
  
      *parse_float*, if specified, will be called with the string of every
      JSON float to be decoded.  By default, this is equivalent to
      ``float(num_str)``. This can be used to use another datatype or parser
      for JSON floats (e.g. :class:`decimal.Decimal`).
  
      *parse_int*, if specified, will be called with the string of every
      JSON int to be decoded.  By default, this is equivalent to
      ``int(num_str)``.  This can be used to use another datatype or parser
      for JSON integers (e.g. :class:`float`).
  
      *parse_constant*, if specified, will be called with one of the
      following strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``.  This
      can be used to raise an exception if invalid JSON numbers are
      encountered.
  
      If *use_decimal* is true (default: ``False``) then it implies
      parse_float=decimal.Decimal for parity with ``dump``.
  
      To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
      kwarg.
  
      """
      return loads(fp.read(),
          encoding=encoding, cls=cls, object_hook=object_hook,
          parse_float=parse_float, parse_int=parse_int,
          parse_constant=parse_constant, object_pairs_hook=object_pairs_hook,
          use_decimal=use_decimal, **kw)