我正在運行一個SQL查詢,它返回一個小數列表。當我嘗試將其轉換爲JSON時,我得到了類型錯誤。JSON:TypeError:十進制('34 .3')不是JSON可序列化
查詢:
res = db.execute("""
SELECT CAST ((SUM(r.SalesVolume)/1000.0) AS decimal(6,1))
FROM RawData r
INNER JOIN Product p
ON r.ProductId = p.ProductId
INNER JOIN Calendar c
ON r.DayId = c.DayId
WHERE c.WeekCodeInYear BETWEEN 1 AND 12
AND
c.YearId = 2014
GROUP BY c.WeekCodeInYear """)
結果列表:
[Decimal('34.3'), Decimal('50.9'), Decimal('31.5'), Decimal('23.3'), Decimal('19
.7'), Decimal('56.9'), Decimal('43.8'), Decimal('35.2'), Decimal('29.2'), Decima
l('43.7'), Decimal('42.6'), Decimal('23.4')]
代碼:
for row in res:
testlist.append (row[0])
print testlist
list = json.dumps(testlist)
而我得到的Unable to serialize error
試圖尋找在線,沒有太大的幫助。 請注意,最終列表將作爲輸入數據到圖表。
'小數object'不JSON序列化。向我們展示'print testlist'的執行結果 – LittleQ
@LittleQ上面的結果列表是'testlist'的執行結果。 –
明白了你的觀點。順便說一句,'list'是一個內置類型,最好不要用它作爲變量名稱。 – LittleQ