递归替换字典的键和值

def dict_del(obj):
    if isinstance(obj, dict):
        for k, v in obj.items():
            if isinstance(k, bytes):
                obj[k.decode("utf-8", 'ignore')] = obj.pop(k)
            if isinstance(v, bytes):
                if isinstance(k, bytes):
                    obj[k.decode("utf-8", 'ignore')] = v.decode("utf-8", 'ignore')
                else:
                    obj[k] = v.decode("utf-8", 'ignore')
            dict_del(v)
    if isinstance(obj, list):
        for x in obj:
            dict_del(x)
    else:
        pass
    return obj