用python碾压json

Ser*_*nko 9 python parsing json

现在回应我的另一个问题需要找到一种方法来将json压缩到一行:例如

{"node0":{
    "node1":{
        "attr0":"foo",
        "attr1":"foo bar",
        "attr2":"value with        long        spaces"
    }
}}
Run Code Online (Sandbox Code Playgroud)

我想紧缩到一条线:

{"node0":{"node1":{"attr0":"foo","attr1":"foo bar","attr2":"value with        long        spaces"}}}
Run Code Online (Sandbox Code Playgroud)

通过删除无关紧要的空格并保留值内的空格.有没有一个库在python中执行此操作?

编辑 感谢drdaeman和Eli Courtwright的快速反应!

drd*_*man 17

http://docs.python.org/library/json.html

>>> import json
>>> json.dumps(json.loads("""
... {"node0":{
...     "node1":{
...         "attr0":"foo",
...         "attr1":"foo bar",
...         "attr2":"value with        long        spaces"
...     }
... }}
... """))
'{"node0": {"node1": {"attr2": "value with        long        spaces", "attr0": "foo", "attr1": "foo bar"}}}'
Run Code Online (Sandbox Code Playgroud)

  • 哦,我差点忘了它......你应该使用`(',',':')`作为json.dumps的`separators`参数(参见文档).这将使数据更加紧凑. (3认同)