I have a django
application with tastypie
. One of the models in my app has a DecimalField
. When I get a response from the API in JSON
format, all the decimal fields appear as strings
instead of numbers
:
For example I get:
objects: [
{
id: "1",
my_decimal_field: "84.54"
}
instead of
objects: [
{
id: "1"
my_decimal_field: 84.54
}
This also happens with the id field.
¿Any thoughts?
In JavaScript, JSON decodes to double-precision floating point format, which causes a loss of precision. Decimal
objects are encoded to string
to maintain precision.
If you want to encode to JSON number format, you can use a FloatField
.