Python json.dumps(<val>) to output minified json?
Question:
Is there any way to have python’s json.dumps(<val>)
output in minified form? (i.e. get rid of extraneous spaces around commas, colons etc.)
Answers:
You should set the separators
parameter:
>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'
From the docs:
If specified, separators should be an (item_separator, key_separator)
tuple. The default is (', ', ': ')
if indent is None
and (',', ': ')
otherwise. To get the most compact JSON representation, you should specify (',', ':')
to eliminate whitespace.
There’s also a ujson library that works much faster and minifies the JSON by default.
Its dumps
equivalent doesn’t have the separators
parameter and it lacks some more features like custom encoders/decoders, but I thought it might be worth to mention it here.
>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'
Is there any way to have python’s json.dumps(<val>)
output in minified form? (i.e. get rid of extraneous spaces around commas, colons etc.)
You should set the separators
parameter:
>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'
From the docs:
If specified, separators should be an
(item_separator, key_separator)
tuple. The default is(', ', ': ')
if indent isNone
and(',', ': ')
otherwise. To get the most compact JSON representation, you should specify(',', ':')
to eliminate whitespace.
There’s also a ujson library that works much faster and minifies the JSON by default.
Its dumps
equivalent doesn’t have the separators
parameter and it lacks some more features like custom encoders/decoders, but I thought it might be worth to mention it here.
>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'