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 <rep...@bugs.python.org>
<http://bugs.python.org/issue29540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to