summaryrefslogtreecommitdiff
path: root/simplejson/encoder.py
diff options
context:
space:
mode:
authorBob Ippolito <bob@redivi.com>2015-10-27 08:31:48 -0700
committerBob Ippolito <bob@redivi.com>2015-10-27 08:31:48 -0700
commitb979a80722bfbcecc6cde366449e1e0b605c51b6 (patch)
tree1d977c0ea878cc2ad27aeb14e51cdf0ec5dc9857 /simplejson/encoder.py
parent82fdecb6a892579bde16f43b4b983b9dce6c3643 (diff)
downloadsimplejson-b979a80722bfbcecc6cde366449e1e0b605c51b6.tar.gz
Fix issue with iterable_as_array and indent option, closes #128v3.8.1
Diffstat (limited to 'simplejson/encoder.py')
-rw-r--r--simplejson/encoder.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/simplejson/encoder.py b/simplejson/encoder.py
index d771bb4..5b9bda7 100644
--- a/simplejson/encoder.py
+++ b/simplejson/encoder.py
@@ -496,10 +496,14 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
chunks = _iterencode(value, _current_indent_level)
for chunk in chunks:
yield chunk
- if newline_indent is not None:
- _current_indent_level -= 1
- yield '\n' + (_indent * _current_indent_level)
- yield ']'
+ if first:
+ # iterable_as_array misses the fast path at the top
+ yield '[]'
+ else:
+ if newline_indent is not None:
+ _current_indent_level -= 1
+ yield '\n' + (_indent * _current_indent_level)
+ yield ']'
if markers is not None:
del markers[markerid]