Saya baru menyadari bahwa json.dumps()
menambahkan spasi di objek JSON
misalnya
{'duration': '02:55', 'name': 'flower', 'chg': 0}
bagaimana cara menghapus spasi agar JSON lebih ringkas dan menghemat byte untuk dikirim melalui HTTP?
seperti:
{'duration':'02:55','name':'flower','chg':0}
Changed in version 3.4: Use (',', ': ') as default if indent is not None.
docs.python.org/3/library/json.html#json.dumpJawaban:
sumber
indent=0
menghasilkan baris baru, sementaraindent=None
(default) tidak dalam 2.7. Semua dinyatakan dengan jelas di: docs.python.org/3/library/json.html#json.dumpujson
default untuk dumps tanpa spasi tetapi sayangnya tidak mendukungseparators
kata kunci sehingga tidak dapat menambah ruang kembali jika diinginkan. Ini jauh lebih cepat meskipun vs built injson
!request.body
dengan orang-request.data
orang sehingga mungkin menemukan ini bergunabytes(json.dumps(request.data, separators=(',', ':')), 'utf-8') == request.body
Dalam beberapa kasus, Anda mungkin ingin menyingkirkan spasi putih tambahan saja. Anda kemudian dapat menggunakan
Ada ruang setelah
:
tetapi tidak setelah,
.Ini berguna untuk membedakan file JSON Anda (dalam kontrol versi seperti
git diff
), di mana beberapa editor akan menghilangkan spasi spasi tambahan tetapi python json.dump akan menambahkannya kembali.Catatan: Ini tidak persis menjawab pertanyaan di atas, tetapi saya datang ke sini mencari jawaban ini secara khusus. Saya tidak berpikir itu layak QA sendiri, jadi saya menambahkannya di sini.
sumber