diff options
| author | David Pretty | 2013-09-13 13:36:18 +1000 |
|---|---|---|
| committer | David Pretty | 2013-09-13 13:36:18 +1000 |
| commit | d489c5c88144a25ef0d61fb8deb0b77f3a061480 (patch) | |
| tree | bba6679a54d8dc13a8b1adcb6c86b4bddcb1b5aa /rest_framework/utils | |
| parent | ea462b7b9b28f425c8c91d10e34532ddbb3c87fa (diff) | |
| download | django-rest-framework-d489c5c88144a25ef0d61fb8deb0b77f3a061480.tar.bz2 | |
Let JSONEncoder handle Numpy data types.
json.JSONEncoder cannot serialize Numpy data types. Numpy arrays
and array scalars have a tolist() method which casts the object to
a standard python data type.
Diffstat (limited to 'rest_framework/utils')
| -rw-r--r-- | rest_framework/utils/encoders.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index b26a2085..7efd5417 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -42,6 +42,8 @@ class JSONEncoder(json.JSONEncoder): return str(o.total_seconds()) elif isinstance(o, decimal.Decimal): return str(o) + elif hasattr(o, 'tolist'): + return o.tolist() elif hasattr(o, '__iter__'): return [i for i in o] return super(JSONEncoder, self).default(o) |
