迭代python对象并对其进行过滤

迭代python对象并对其进行过滤,python,json,python-2.7,urllib2,Python,Json,Python 2.7,Urllib2,我从Webservice获得的JSON符号: { “学生”:[ { “学生ID”:127292, “学生姓名”:“玛丽” }, { “学生ID”:15555, “学生姓名”:“乔” } ] } 我试图迭代JSON对象,并根据学生姓名获取学生id 例如,如果我必须获得'Joe'的studentId,我们如何在Python中处理它 try: req = urllib2.Request(url, headers = header) response = urllib2.urlopen

我从Webservice获得的JSON符号:

{
“学生”:[
{
“学生ID”:127292,
“学生姓名”:“玛丽”
},
{
“学生ID”:15555,
“学生姓名”:“乔”
}
]
}
我试图迭代JSON对象,并根据学生姓名获取学生id

例如,如果我必须获得
'Joe'
studentId
,我们如何在Python中处理它

try:
    req = urllib2.Request(url, headers = header)
    response = urllib2.urlopen(req)
    jsonObject = json.load(response)

except Exception as e:
    print e

您可以迭代JSON对象以获取每个字段中的学生ID

studentIds = []
for obj in jsonObject:
    sID = obj['studentId']
    studentIds.append(sID)

我建议将您的数据重新映射到字典中,您可以在字典中按姓名查找您的学生:

data = {
"students": [
    {
        "studentId": 127292,            
        "studentName": "Mary"            
    },
    {
        "studentId": 15555,            
        "studentName": "Joe"            
    }
  ]
}

lookup = {student["studentName"]: student["studentId"] for student in data["students"]}
id_of_joe = lookup.get("Joe", "No student named Joe")
Python中没有“JSON对象”这样的东西。有JSON符号,也有Python对象。看看Python
dict
list
类型。