diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index 4ef3a55a9..18532ec81 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -8,8 +8,7 @@ import decimal import json import uuid from json.encoder import (FLOAT_REPR, INFINITY, _make_iterencode, - c_make_encoder, encode_basestring, - encode_basestring_ascii) + encode_basestring, encode_basestring_ascii) from django.db.models.query import QuerySet from django.utils import six, timezone @@ -76,18 +75,10 @@ class JSONEncoder(json.JSONEncoder): return text - if (_one_shot and c_make_encoder is not None - and self.indent is None): - _iterencode = c_make_encoder( - markers, self.default, _encoder, self.indent, - self.key_separator, self.item_separator, self.sort_keys, - self.skipkeys, self.allow_nan) - else: - _iterencode = _make_iterencode( - markers, self.default, _encoder, self.indent, floatstr, - self.key_separator, self.item_separator, self.sort_keys, - self.skipkeys, _one_shot) - return _iterencode(o, 0) + return _make_iterencode(markers, self.default, _encoder, self.indent, + floatstr, self.key_separator, + self.item_separator, self.sort_keys, + self.skipkeys, _one_shot)(o, 0) def default(self, obj): # For Date Time string spec, see ECMA 262