Python - 没有空格的json

Dan*_*e B 130 python json

我刚刚意识到json.dumps()在JSON对象中添加了空格

例如

{'duration': '02:55', 'name': 'flower', 'chg': 0}
Run Code Online (Sandbox Code Playgroud)

如何删除空格以使JSON更紧凑并节省通过HTTP发送的字节?

如:

{'duration':'02:55','name':'flower','chg':0}
Run Code Online (Sandbox Code Playgroud)

don*_*208 211

json.dumps(separators=(',', ':'))
Run Code Online (Sandbox Code Playgroud)

  • 并且还要注意,`indent = 0`会生成换行符,而`indent = None`(默认值)则不会生成换行符.所有内容都在以下网址清楚说明:https://docs.python.org/3/library/json.html#json.dump (8认同)
  • 对于带有 json 验证的 doctests 非常有用。 (2认同)

Hug*_*lle 42

在某些情况下,您可能只想删除尾随空格.然后你可以使用

json.dumps(separators=(',', ': '))
Run Code Online (Sandbox Code Playgroud)

有一个空间,:但不是之后,.

这对于扩展你的JSON文件(在版本控制中git diff)非常有用,其中一些编辑器将摆脱尾随空格但python json.dump会将其添加回来.

注意:这并没有完全回答问题,但我来到这里专门寻找这个答案.我不认为它应该有自己的质量保证,所以我在这里添加它.


小智 24

紧凑编码:

import json

list_1 = [1, 2, 3, {'4': 5, '6': 7}]

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

print(list_1)
Run Code Online (Sandbox Code Playgroud)
[1,2,3,{"4":5,"6":7}]
Run Code Online (Sandbox Code Playgroud)