web-dev-qa-db-ja.com

Python json.dumps(<val>)to minified json?

Pythonのjson.dumps(<val>)出力を縮小形式で出力する方法はありますか? (つまり、コンマ、コロンなどの周りの余分なスペースを取り除きます)

29
Jimmy Huch

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

46
Eugene Soldatov

json ライブラリもあり、デフォルトでJSONを最小化して高速に動作します。
そのdumps相当物にはseparatorsパラメータがなく、カスタムエンコーダー/デコーダーなどのいくつかの機能が不足していますが、ここで言及する価値があると思いました。

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