def loads(json_data, encoding="<STR_LIT:utf-8>", **kwargs):
if isinstance(json_data, bytes):<EOL><INDENT>json_data = json_data.decode(encoding)<EOL><DEDENT>return json.loads(json_data, object_hook=JSONData, **kwargs)<EOL>
Custom loads function with an object_hook and automatic decoding

Parameters
----------
json_data : str
    The JSON data to decode
*args
    Positional arguments, passed to :func:`json.loads`
encoding : :obj:`str`, optional
    The encoding of the bytestring
**kwargs
    Keyword arguments passed to :func:`json.loads`

Returns
-------
:obj:`dict` or :obj:`list`
    Decoded json data