Pythonのjson.dumps(<val>)
出力を縮小形式で出力する方法はありますか? (つまり、コンマ、コロンなどの周りの余分なスペースを取り除きます)
separators
パラメータを設定する必要があります:
>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'
ドキュメントから:
指定する場合、セパレータは
(item_separator, key_separator)
タプルである必要があります。デフォルトは、インデントがNone
の場合は(', ', ': ')
、それ以外の場合は(',', ': ')
です。最もコンパクトなJSON表現を取得するには、(',', ':')
を指定して空白を削除する必要があります。
json ライブラリもあり、デフォルトでJSONを最小化して高速に動作します。
そのdumps
相当物にはseparators
パラメータがなく、カスタムエンコーダー/デコーダーなどのいくつかの機能が不足していますが、ここで言及する価値があると思いました。
>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'