def METHOD_NAME(self, jsonpath, create=False):
    '''Return a parent, key, value from the JSON store where parent[key] == value'''
    # Load data from self.path JSON file if it's specified, exists, and newer than last load.
    # Otherwise, load the default data provided.
    if self.path:
        path = self.path
        _jsonstores.setdefault(path, None)
        self.changed = False
        if os.path.exists(path):
            if _loaded.get(path, 0) <= os.stat(path).st_mtime:
                # Don't use encoding when reading JSON. We're using ensure_ascii=True
                # Besides, when handling Py2 & Py3, just ignoring encoding works best
                with open(path, mode='r') as handle:
                    try:
                        _jsonstores[path] = json.load(handle)
                        _loaded[path] = time.time()
                    except ValueError:
                        app_log.warning(f'Invalid JSON in {path}')
                        self.changed = True
        else:
            self.changed = True
    else:
        path = self.name
        _jsonstores.setdefault(path, self.default_data)
    # Walk down the path and find the parent, key and data represented by jsonpath
    parent, key, data = _jsonstores, path, _jsonstores[path]
    if not jsonpath:
        return parent, key, data
    # Split jsonpath by / -- but escape "\/" (or "%5C/") as part of the keys
    keys = [p.replace('\udfff', '/') for p in jsonpath.replace(r'\/', '\udfff').split('/')]
    keys.insert(0, path)
    for index, key in enumerate(keys[1:]):
        if hasattr(data, '__contains__') and key in data:
            parent, data = data, data[key]
            continue
        if isinstance(data, list) and key.isdigit():
            key = int(key)
            if key < len(data):
                parent, data = data, data[key]
                continue
        if create:
            if not hasattr(data, '__contains__'):
                parent[keys[index]] = data = {}
            data[key] = {}
            parent, data = data, data[key]
            continue
        return parent, key, None
    return parent, key, data