我有一个Python类应该返回一个JSON,它看起来是这样的:类返回JSON,蟒蛇
class ScanThis():
def__init__(self, test):
data={}
if test>5:
data["amount"] = test
self.json_data = json.dumps(data)
else:
data["fail"] = test
self.json_data = json.dumps(data)
def __str__(self):
return self.json_data
,我试图调用它像这样:
output= json.loads(ScanThis(8))
print(output["command"])
但我得到这个错误:
TypeError: the JSON object must be str, bytes or bytearray, not 'ScanThis'
我相信我刚才的CLAS返回类型ScanThis的对象(),而不是一个JSON像我想要的。我只是想现在怎么样我会解决这个问题 谢谢
PS:我很抱歉,如果这个代码是粗糙的或无效的,它不是实际的代码,就类似我做了
东西更新:同样,这不是真正的代码,它只是实际代码的一个小的基本片段。还有我使用一个类一个很好的理由,并且使用JSON的原因在互联网上的数据传输涉及
你似乎没有理解课堂的目的。如果您不想返回类的实例,请不要使用类 - 请改用函数。 –
'json.loads'不会在'ScanThis'实例上隐式调用'__str__'。 – deceze
@deceze正确的,我真的刚刚意识到这是如何从下面的答案 –