2013-05-01 106 views
86

我剛剛意識到json.dumps()添加空格JSON對象的Python - JSON沒有空格

例如

{'duration': '02:55', 'name': 'flower', 'chg': 0} 

如何刪除空格爲了使JSON更緊湊並節省通過HTTP發送的字節?

如:

{'duration':'02:55','name':'flower','chg':0} 
+1

Python 3.4修正了這個錯誤:'在3.4版本中進行了更改:如果indent不是None,則使用(',',':')作爲默認值。「https://docs.python.org/3/library/json。 html#json.dump – grisaitis 2017-03-02 17:43:19

回答

139
json.dumps(separators=(',', ':')) 
+1

對json驗證的doctests非常有用。 – andi 2015-12-18 09:29:33

+4

還要注意'indent = 0'生成換行符,而'indent = None'(默認)不在2.7中。所有內容都清楚地陳述在:https://docs.python.org/3/library/json.html#json.dump – 2016-07-28 14:01:16

21

在您可能需要某些情況下襬脫只有尾部空格的。 然後可以使用

json.dumps(separators=(',', ': ')) 

:後的空間,但不,後。

這對於區分JSON文件很有用(在版本控制中,例如git diff),其中一些編輯器將刪除尾隨的空白,但是python json.dump會將其添加回去。

注意:這並不完全回答上面的問題,但我特意來這裏尋找這個答案。我認爲它不值得擁有自己的QA,所以我在這裏添加它。