summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/json/encoder.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py
index 597849e..323332f 100644
--- a/Lib/json/encoder.py
+++ b/Lib/json/encoder.py
@@ -244,15 +244,18 @@ class JSONEncoder(object):
return text
- if (_one_shot and c_make_encoder is not None
- and self.indent is None):
+ if self.indent is None or isinstance(self.indent, str):
+ indent = self.indent
+ else:
+ indent = ' ' * self.indent
+ if _one_shot and c_make_encoder is not None:
_iterencode = c_make_encoder(
- markers, self.default, _encoder, self.indent,
+ markers, self.default, _encoder, 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,
+ markers, self.default, _encoder, indent, floatstr,
self.key_separator, self.item_separator, self.sort_keys,
self.skipkeys, _one_shot)
return _iterencode(o, 0)
@@ -272,9 +275,6 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
_intstr=int.__repr__,
):
- if _indent is not None and not isinstance(_indent, str):
- _indent = ' ' * _indent
-
def _iterencode_list(lst, _current_indent_level):
if not lst:
yield '[]'