2016-12-15 9 views
2

プリティ・印刷:私はこのような何か見て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 
} 

をしかし、私の出力ではなく、次のようになります。

{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}] 

私はのように感じます私は行方不明のものがあります。

r = requests.get(url, headers=headers, allow_redirects=True) 
import json 
print(json.dumps(r.json(), indent=2)) 

はい、これはあなたがしてデシリアライズシリアライズされているという点で、少し冗長である:私はこれを実現する最も簡単な方法は、jsonモジュールを使用することです見つけた

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()) 
+0

基本的にデータをネイティブのPython構文にシリアル化するモジュール「pprint」を使用しています。可能であれば、通常の 'print'を使用して値を文字列として出力します。 jsonデータを文字列として取得したい場合は、 'r.body'が必要です。' r.json'はデコードされた値であると思います。例えば、既にあなたのためにネイティブなpython型になっています。 – ThorSummoner

答えて

7

:ここに私のコードです再びそれがの作品です。

+0

完璧!これはうまくいった。ありがとうございました – justin

関連する問題