我有一個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正確的,我真的剛剛意識到這是如何從下面的答案 –