def to_camel_case(d):
    """
    Convert data with snake_case keys to lowerCamelCase
    Parameters
    ----------
    d : str or list or dict
        Data with snake case keys
    Returns
    -------
    str or list or dict
        Data with camel case keys
    """

    def camel(s):
        first, *others = s.split('_')
        return ''.join([first.lower(), *map(str.title, others)])

    if isinstance(d, str):
        return camel(d)
    elif isinstance(d, list):
        return [to_camel_case(_) for _ in d]
    elif isinstance(d, dict):
        dd = dict()
        for k, v in d.items():
            if isinstance(k, str):
                k = camel(k)

            if isinstance(v, (list, dict)):
                v = to_camel_case(v)

            dd[k] = v
        return dd