#16333: document a way to get rid of trailing whitespace when indent is used.

This commit is contained in:
Ezio Melotti 2012-11-29 00:35:29 +02:00
parent 74120996f5
commit d654dedbbb
3 changed files with 26 additions and 6 deletions

View File

@ -42,7 +42,8 @@ Compact encoding::
Pretty printing::
>>> import json
>>> print(json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4))
>>> print(json.dumps({'4': 5, '6': 7}, sort_keys=True,
... indent=4, separators=(',', ': ')))
{
"4": 5,
"6": 7
@ -155,6 +156,12 @@ Basic Usage
.. versionchanged:: 3.2
Allow strings for *indent* in addition to integers.
.. note::
Since the default item separator is ``', '``, the output might include
trailing whitespace when *indent* is specified. You can use
``separators=(',', ': ')`` to avoid this.
If *separators* is an ``(item_separator, dict_separator)`` tuple, then it
will be used instead of the default ``(', ', ': ')`` separators. ``(',',
':')`` is the most compact JSON representation.
@ -393,6 +400,12 @@ Encoders and Decoders
.. versionchanged:: 3.2
Allow strings for *indent* in addition to integers.
.. note::
Since the default item separator is ``', '``, the output might include
trailing whitespace when *indent* is specified. You can use
``separators=(',', ': ')`` to avoid this.
If specified, *separators* should be an ``(item_separator, key_separator)``
tuple. The default is ``(', ', ': ')``. To get the most compact JSON
representation, you should specify ``(',', ':')`` to eliminate whitespace.

View File

@ -39,8 +39,8 @@ Compact encoding::
Pretty printing::
>>> import json
>>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
>>> print('\n'.join([l.rstrip() for l in s.splitlines()]))
>>> print(json.dumps({'4': 5, '6': 7}, sort_keys=True,
... indent=4, separators=(',', ': ')))
{
"4": 5,
"6": 7
@ -146,7 +146,9 @@ def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,
If ``indent`` is a non-negative integer, then JSON array elements and
object members will be pretty-printed with that indent level. An indent
level of 0 will only insert newlines. ``None`` is the most compact
representation.
representation. Since the default item separator is ``', '``, the
output might include trailing whitespace when ``indent`` is specified.
You can use ``separators=(',', ': ')`` to avoid this.
If ``separators`` is an ``(item_separator, dict_separator)`` tuple
then it will be used instead of the default ``(', ', ': ')`` separators.
@ -207,7 +209,9 @@ def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
If ``indent`` is a non-negative integer, then JSON array elements and
object members will be pretty-printed with that indent level. An indent
level of 0 will only insert newlines. ``None`` is the most compact
representation.
representation. Since the default item separator is ``', '``, the
output might include trailing whitespace when ``indent`` is specified.
You can use ``separators=(',', ': ')`` to avoid this.
If ``separators`` is an ``(item_separator, dict_separator)`` tuple
then it will be used instead of the default ``(', ', ': ')`` separators.

View File

@ -125,7 +125,10 @@ class JSONEncoder(object):
If indent is a non-negative integer, then JSON array
elements and object members will be pretty-printed with that
indent level. An indent level of 0 will only insert newlines.
None is the most compact representation.
None is the most compact representation. Since the default
item separator is ', ', the output might include trailing
whitespace when indent is specified. You can use
separators=(',', ': ') to avoid this.
If specified, separators should be a (item_separator, key_separator)
tuple. The default is (', ', ': '). To get the most compact JSON