Moduł django.utils.simplejson
nie obsługuje domyślnie typu decimal.Decimal
. Na szczęście da się podać własny mechanizm kodowania nieznanych typów:
import decimal
def json_encoder(value):
if isinstance(value, decimal.Decimal):
return float(str(value))
else:
raise TypeError
from django.utils import simplejson
print simplejson.dumps([decimal.Decimal('1.2')], default=json_encoder)