From 5299f329529975e2a37be9dd3f5879b6c9a1d4a4 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 13 Jun 2016 10:30:29 +0100 Subject: [PATCH] Handle bytestrings in JSON. Closes #4185. --- rest_framework/utils/encoders.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index 949c99eda..f883b4925 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -51,6 +51,9 @@ class JSONEncoder(json.JSONEncoder): return six.text_type(obj) elif isinstance(obj, QuerySet): return tuple(obj) + elif isinstance(obj, six.binary_type): + # Best-effort for binary blobs. See #4187. + return obj.decode('utf-8') elif hasattr(obj, 'tolist'): # Numpy arrays and array scalars. return obj.tolist()