def __init__(self, encoding=None, object_hook=None, parse_float=None,<EOL>parse_int=None, parse_constant=None, strict=True):
self.encoding = encoding<EOL>self.object_hook = object_hook<EOL>self.parse_float = parse_float<EOL>self.parse_int = parse_int<EOL>self.parse_constant = parse_constant<EOL>self.strict = strict<EOL>
``encoding`` determines the encoding used to interpret any ``str``
objects decoded by this instance (utf-8 by default).  It has no
effect when decoding ``unicode`` objects.

Note that currently only encodings that are a superset of ASCII work,
strings of other encodings should be passed in as ``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 ``dict``.  This can be used to provide custom
deserializations (e.g. to support JSON-RPC class hinting).

``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. 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. float).

``parse_constant``, if specified, will be called with one of the
following strings: -Infinity, Infinity, NaN, null, true, false.
This can be used to raise an exception if invalid JSON numbers
are encountered.