我正在调用返回一些用户数据的API,请参阅下面的输出。
我想要做的就是从标记为节点的每个部分打印出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"
}
}
}
}
答案 0 :(得分: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