Alex Gordon added the comment:
The point is that, as a principle of good API design, the json module should
not generate malformed JSON unless the user very explicitly asks for their JSON
to be corrupted.
Python stands alone in having a JSON serializer that can produce strings such
as {"k",[1:2:3]} if the user holds it wrong.
Outside of Python, the 'compact' encoding is just the normal way that JSON is
encoded. It's the default almost everywhere else. I'm not suggesting Python
should default to it also, but I am suggesting that it should be safe and easy
to remove the extraneous whitespace.
Historically there were two values you might want to pass to separators. Aside
from (',', ':'), the other was (',', ': ') when indent was not None, to
suppress the trailing space at the end of each line. This is no longer
necessary after 3.4.
After 3.4, separators= currently acts as a very complicated boolean flag,
because the only value that makes sense to pass to it is (',', ':'). With a
compact flag, users could ignore separators entirely and so the API would be
made simpler and safer.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com