有没有办法让minthon形式的python json.dumps(<val>)
输出? (即摆脱逗号,冒号等周围的外来空间。)
答案 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表示,您应指定(',', ':')
以消除空格。
答案 1 :(得分:2)
还有一个ujson库,它可以更快地工作并默认缩小JSON。
它的dumps
等价物没有separators
参数,并且缺少自定义编码器/解码器等更多功能,但我认为这里值得一提。
>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'