Generating JSON Strings in Pretty Format

Q

How to generate JSON strings in pretty format using json.dumps()?

✍: FYIcenter.com

A

You can control the JSON output string format with "indent", "separators" and "sort_keys" arguments of the json.dumps() function:

Here is a Python example that generates a pretty formatted JSON string with property keys sorted:

>>> import json
>>> l = ['foo', {'bar': ('baz', None, 1.0, {"c": 0, "b": 0, "a": 0})}]
>>> j = json.dumps(l, indent=3, sort_keys=True)
>>> print(j)
[
   "foo",
   {
      "bar": [
         "baz",
         null,
         1.0,
         {
            "a": 0,
            "b": 0,
            "c": 0
         }
      ]
   }
]

You can set indent=None and separators=(',', ':') to get the most compact JSON string:

>>> import json
>>> l = ['foo', {'bar': ('baz', None, 1.0, {"c": 0, "b": 0, "a": 0})}]
>>> j = json.dumps(l, indent=None, separators=(',', ':'), sort_keys=True)
>>> print(j)
["foo",{"bar":["baz",null,1.0,{"a":0,"b":0,"c":0}]}]

 

Dumping JSON Output to File

json.dumps() - Dumping Object into JSON

'json' Module - JSON Encoder and Decoder

⇑⇑ Python Tutorials

2018-10-08, 161👍, 0💬