Python json.dumps(<val>)输出缩小的json?

时间:2015-10-20 09:46:35

标签: python json minify

有没有办法让minthon形式的python json.dumps(<val>)输出? (即摆脱逗号,冒号等周围的外来空间。)

2 个答案:

答案 0 :(得分:41)

您应该设置separators参数:

>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'

来自文档:

  

如果指定,分隔符应为(item_separator, key_separator)元组。如果缩进为(', ', ': '),则默认为None,否则为(',', ': ')。要获得最紧凑的JSON表示,您应指定(',', ':')以消除空格。

https://docs.python.org/3/library/json.html

https://docs.python.org/2/library/json.html

答案 1 :(得分:2)

还有一个ujson库,它可以更快地工作并默认缩小JSON。
它的dumps等价物没有separators参数,并且缺少自定义编码器/解码器等更多功能,但我认为这里值得一提。

>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'