のpython 2.7の場合は、正規表現を使用して回避策があります:
import re
dump = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
#Replaces spaces with tab
new_data = re.sub('\n +', lambda match: '\n' + '\t' * (len(match.group().strip('\n'))/3), dump)
json.dump(new_data, open('dev_integrated.json', 'w')
これは、ドキュメントからのPython 3.2+のため
です:
インデントは非負整数の場合JSON配列要素とオブジェクトメンバーは、そのインデントレベルできれいに印刷されます。インデントレベルが0、負または ""の場合、改行のみが挿入されます。 None(デフォルト)は最もコンパクトな表現を選択します。正の整数インデントを使用すると、レベルごとに多くのスペースがインデントされます。インデントが文字列( "\ t"など)の場合、その文字列は各レベルのインデントに使用されます。
json.dump(jString, open('dev_integrated.json', 'w'), sort_keys=True, indent='\t', separators=(',', ': '))
私はあなたがそれを行うことはできないと思いますが、あなたはあなたが 'ここsimplejson'を使用することができます別のコール –
のタブに結果の文字列に4つのスペースを置き換えることができ、それは上のいくつかの素晴らしい機能を備えています'json'モジュールが提供するもののトップです。もう一つの選択肢は、[変更点](https://github.com/python/cpython/commit/b643ef8f8e92728c2a4afaaa860592e384c7178c)と[カスタムクラスの作成](http://ideone.com/A7injH)です。 –
これは有効な質問です。私はどんなdownvotesの必要性が表示されません。私はPython 2のために十分に見渡して何も見つかりませんでした。 –