import json


def load_list_from_option(parser, *, section="", option="", fallback=None):
    """Using a combination of ``ConfigParser`` and JSON, load a
    list from a configuration file option.

    :param parser: the parsed config file
    :type parser: ``ConfigParser`` object
    :param section: the section of the config file to load
    :type section: str
    :param option: the option value inside the specified section
    :type option: str
    :return: the list parsed by JSON
    :param fallback: the fallback value to return if the option is empty
    :type fallback: list
    :rtype: list
    """
    try:
        return json.loads(parser[section][option])
    except (json.decoder.JSONDecodeError, KeyError):
        return [] if fallback is None else fallback