def get_or(item, keys, default=''):
    """
    Fetch a property from a json object. Keys is a list of keys and indices to use to
    fetch the property. Returns the passed default string if the path through the json
    does not exist.
    :param item: The json to parse properties from
    :type item: json object
    :param keys: The list of keys and indices for the property
    :type keys: A list of string or int
    :param default: The default string to use if a property could not be found
    :type default: String
    :return: The requested property or the default value if missing
    :rtype: String
    """
    try:
        for key in keys:
            item = item[key]
        return item
    except (KeyError, IndexError):
        return default
