2017-08-24 60 views
-3

我正在調用一個返回一些用戶數據的API,請參閱下面的輸出。只是想從API響應中打印出2個值Python

我想要做的就是從標籤爲節點的每個節打印出2個值,最終我想在html表中使用輸出。我在這裏查看了十幾個或更多的帖子,無法獲得這種輸出。

在這種情況下如下我輸出想打印出2行: username 1 - email address 1

username 2 - email address 2

{ 
    "data": { 
     "organization": { 
      "samlIdentityProvider": { 
       "externalIdentities": { 
        "edges": [ 
         { 
          "node": { 
           "guid": "SOMESTRING 1", 
           "samlIdentity": { 
            "nameId": "email address 1" 
           }, 
           "user": { 
            "login": "username 1" 
           } 
          } 
         }, 
         { 
          "node": { 
           "guid": "SOMESTRING 2", 
           "samlIdentity": { 
            "nameId": "email address 2" 
           }, 
           "user": { 
            "login": "username 2" 
           } 
          } 
         } 
        ] 
       }, 
       "ssoUrl": "https://ssomeurl.com" 
      } 
     } 
    } 
} 
+2

你試過無論從用'[]字典,讓他們'語法?還是有一個特定的原因,你不能這樣做? –

回答

1

,這是可能與json模塊。解析嵌套鍵到你想要的,然後打印他們的每一個值的兩個節點:

import json 

data = json.loads(user_data) 

for edge in data['data']['organization']['samlIdentityProvider']['externalIdentities']['edges']: 
    print edge['node']['user']['login'], edge['node']['samlIdentity']['nameId'] 

這應該給你:

username 1 email address 1 
username 2 email address 2 
+0

這正是我所期待的。看起來比我所看到的所有其他答案都容易得多。非常感謝你 – smolz

+0

@smolz非常高興我可以幫忙 – davedwards

相關問題