class MyEncoder01(json.JSONEncoder): def default(self, obj): """ 只要检查到了是bytes类型的数据就把它转为str类型 :param obj: :return: """ if isinstance(obj, bytes): return str(obj, encoding='utf-8') return json.JSONEncoder.default(self, obj) 报错:E AttributeError: type object 'MyEncoder01' has no attribute '__members__'
时间: 2023-06-27 07:08:03 浏览: 106
这个错误可能是因为你的代码中存在一些语法错误或者其他问题。请检查以下几点:
1. 代码是否正确缩进,是否有缺失或多余的空格或制表符。
2. 是否有未关闭的括号、引号、方括号等。
3. 是否导入了正确的模块,并且模块中是否存在所需的类和方法。
4. 是否存在重复定义的类或方法。
5. 是否在代码中使用了一些Python保留字或关键字作为变量名或函数名。
如果以上都没有问题,请尝试重新运行代码,或者贴出更详细的错误信息和代码片段,以便更好地定位问题。
相关问题
class Encoder(json.JSONEncoder): def default(self, obj): """ 只要检查到了是bytes类型的数据就把它转为str类型 :param obj: :return: """ if isinstance(obj, bytes): return str(obj, encoding='utf-8') return json.JSONEncoder.default(self, obj) 报错:E AttributeError: type object 'Encoder' has no attribute '__members__'
这个错误可能是因为您的代码中使用了 `Encoder` 这个类名,但是该类名可能已经被其他模块或库使用了,导致与现有的定义冲突。您可以尝试修改类名,或者在类名前面加上模块名,以避免命名冲突。另外,您的代码中缺少类的声明,需要加上类的声明部分:
```
import json
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, bytes):
return str(obj, encoding='utf-8')
return json.JSONEncoder.default(self, obj)
```
这样应该就可以正常使用了。
阅读全文