只想从API响应Python中打印出2个值

时间:2017-08-24 19:42:23

标签: python

我正在调用返回一些用户数据的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"
            }
        }
    }
}

1 个答案:

答案 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