Python检查变量是否==to json元素和prin

2024-04-24 07:16:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含数千个学生信息位的json响应。看起来是这样的:

{
"users": [
    {
        "agents": [
            {
                "href": "private url here",
                "sourcedId": "g560",
                "type": "user"
            }
        ],
        "dateLastModified": "2016-10-24T15:24:00.000Z",
        "demographics": {
            "href": "private url here",
            "sourcedId": "s557",
            "type": "demographics"
        },
        "email": "example@example.com",
        "familyName": "Smith",
        "givenName": "John",
        "identifier": "000000000",
        "metadata": {
            "ext_grade_level": "11"
        },
        "orgs": [
            {
                "href": "private URL here",
                "sourcedId": "000000000000000000000000000000",
                "type": "org"
            },
            {
                "href": "private URL Here",
                "sourcedId": "0000000000000000000000000000000000",
                "type": "org"
            },
            {
                "href": "private url here",
                "sourcedId": "000000000000000000000000000",
                "type": "org"
            }
        ],
        "role": "student",
        "sourcedId": "s557",
        "status": "active",
        "username": "000000000"
    },
    {

然后从“代理”开始重复:【对于下一个学生,大约2500次。我真正想做的是,我有“学生数据”=学生_数据.json(). 你知道吗

json1 = students_data['users']
stu_email = input("Enter a student email address here:")

if item in json1 == stu_email:
    print(stu_email)

当我运行时,什么也没发生。它请求输入,然后就结束了。没有错误,什么都没有。我没什么好说的,只是这显然是错的。另外,如果它确实有效,那么如何打印匹配地址的familyName、givenName和标识符?你知道吗

嵌套在字典中的列表真的把我搞砸了,因为我知道如何处理列表的唯一方法是使用[0]或[1]等进行索引。但是,在这种情况下,这不是一个选项。你知道吗

另外,我尝试了json1['email'],但是我得到了“TypeError:列表索引必须是整数或片,而不是str”,我假设这是因为我跳过了列表。你知道吗

谢谢你的帮助!你知道吗


Tags: orgjsonurl列表hereemailtypeprivate
1条回答
网友
1楼 · 发布于 2024-04-24 07:16:36

Json数据可以由相互嵌套的字典和列表组成。在这里,我们在列表student_data['users']中循环查找第一个student以及匹配的电子邮件。你知道吗

student_email = input("Enter a student email address here:")

for student in students_data['users']:
    if student['email'] == student_email:
        print('found a match')
        print(student)
        break
else:
    print('no match found')

相关问题 更多 >