【发布时间】:2017-01-21 00:48:41
【问题描述】:
我有一个包含数千个学生信息位的 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"
},
{
然后从“代理”开始重复:[ 对于下一个学生,大约 2,500 次。我真正想做的是以下,我有“students_data”=students_data.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”,我认为这是因为我跳过了列表。
感谢您的帮助!
【问题讨论】:
-
if item in json1 == stu_email的工作原理如下:首先,Python 检查item是否在json1中。不管是不是,结果都是True或者False,但是没有一个等于stu_email。您需要一个循环遍历学生列表并将stu_email与每个学生的电子邮件进行比较。 -
这更有意义,真假部分,谢谢。
-
P.S.谁能解释为什么我的问题被否决了?我想问更好的问题。