Loads a json string as a python object hierarchy just like the standard json.loads(). Unlike
    the standard json.loads() this function uses OrderedDict instances to represent json objects
    but the class of the dictionary to be used is configurable.
    :param s: The json string to load.
    :params parser_params: Parser parameters.
    :type parser_params: JSONParserParams
    :param object_builder_params: Parameters to the ObjectBuilderParserListener, these parameters
    are mostly factories to create the python object hierarchy while parsing.

def loads(s,
          parser_params=JSONParserParams(),
          object_builder_params=PythonObjectBuilderParams()):
    """
    Loads a json string as a python object hierarchy just like the standard json.loads(). Unlike
    the standard json.loads() this function uses OrderedDict instances to represent json objects
    but the class of the dictionary to be used is configurable.
    :param s: The json string to load.
    :params parser_params: Parser parameters.
    :type parser_params: JSONParserParams
    :param object_builder_params: Parameters to the ObjectBuilderParserListener, these parameters
    are mostly factories to create the python object hierarchy while parsing.
    """
    parser = JSONParser(parser_params)
    listener = ObjectBuilderParserListener(object_builder_params)
    parser.parse(s, listener)
    return listener.result