漂亮的打印JSON

jus*_*tin 5 python json

我有一个python脚本,我想打印JSON输出看起来像这样:

{
    "authMode": "open",
    "enabled": false,
    "ipAssignmentMode": "NAT mode",
    "name": "Unconfigured SSID 14",
    "number": 13,
    "perClientBandwidthLimitDown": 0,
    "perClientBandwidthLimitUp": 0,
    "splashPage": "None",
    "ssidAdminAccessible": false
},
{
    "authMode": "open",
    "enabled": false,
    "ipAssignmentMode": "NAT mode",
    "name": "Unconfigured SSID 15",
    "number": 14,
    "perClientBandwidthLimitDown": 0,
    "perClientBandwidthLimitUp": 0,
    "splashPage": "None",
    "ssidAdminAccessible": false
}
Run Code Online (Sandbox Code Playgroud)

但我的输出看起来像这样:

{u'authMode': u'open',
u'enabled': False,
u'ipAssignmentMode': u'NAT mode',
u'name': u'Unconfigured SSID 14',
u'number': 13,
u'perClientBandwidthLimitDown': 0,
u'perClientBandwidthLimitUp': 0,
u'splashPage': u'None',
u'ssidAdminAccessible': False},
{u'authMode': u'open',
u'enabled': False,
u'ipAssignmentMode': u'NAT mode',
u'name': u'Unconfigured SSID 15',
u'number': 14,
u'perClientBandwidthLimitDown': 0,
u'perClientBandwidthLimitUp': 0,
u'splashPage': u'None',
u'ssidAdminAccessible': False}]
Run Code Online (Sandbox Code Playgroud)

我觉得我有一些简单的东西.这是我的代码:

url = "https://dashboard.meraki.com/api/v0/networks/%s/ssids" % NETWORKID
headers = {'X-Cisco-Meraki-API-Key': APIKEY}
r = requests.get(url, headers=headers, allow_redirects=True)
pprint (r.json())
Run Code Online (Sandbox Code Playgroud)

jua*_*aga 11

我发现最简单的方法是使用json模块:

r = requests.get(url, headers=headers, allow_redirects=True)
import json
print(json.dumps(r.json(), indent=2))
Run Code Online (Sandbox Code Playgroud)

是的,这有点多余,因为你反序列化然后再次序列化,但它的工作原理.