当试图到达这个终点时,它抛出了这个异常:
File "C:\Program Files\python\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Program Files\python\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type Decimal is not JSON serializable
class ProductResource(Resource):
def get(self):
cursor = None
response = dict()
response_code = None
try:
conn = get_connection()
cursor = conn.cursor(dictionary=True)
#cursor.execute(product_list_query)
#products = cursor.fetchall()
cursor.execute(product_variant_query)
pv = cursor.fetchall()
response['products'], response_code = pv, 200
except Error as e:
response['message'],response['api_message'], response_code = 'Something went wrong',e.msg, 500
finally:
if cursor is not None:
cursor.close()
return response, response_code
mysql 表中的两列是 Decimal 类型。我认为这是导致问题的原因。
我们如何解决这个问题?