TypeError:Decimal 类型的对象在处理程序中不是 JSON 可序列化的

时间:2021-05-15 07:56:06

标签: python json python-3.x

当试图到达这个终点时,它抛出了这个异常:

 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 类型。我认为这是导致问题的原因。

我们如何解决这个问题?

0 个答案:

没有答案
相关问题