迭代python对象并对其进行过滤
我从Webservice获得的JSON符号:迭代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
{
“学生”:[
{
“学生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对象。看看Pythondict
和list
类型。