Python-如何检查JSON中的键是否为空值?
在JSON中,我想检查和统计谁拥有学位(最高级别的学位,以及什么类型的学位),谁没有。在计算和检查硕士、博士等学位时,检查是否存在空值是有效的 JSON的一部分Python-如何检查JSON中的键是否为空值?,python,json,python-3.x,Python,Json,Python 3.x,在JSON中,我想检查和统计谁拥有学位(最高级别的学位,以及什么类型的学位),谁没有。在计算和检查硕士、博士等学位时,检查是否存在空值是有效的 JSON的一部分 "id": 125428, "Degree": "Master", 不同候选人: ""id": 125589, "Degree": null, "id": 944987, "Degree": "PhD" 不同候选人: ""id": 125589, "Degree": null, "id": 9
"id": 125428,
"Degree": "Master",
不同候选人:
""id": 125589,
"Degree": null,
"id": 944987,
"Degree": "PhD"
不同候选人:
""id": 125589,
"Degree": null,
"id": 944987,
"Degree": "PhD"
我的相关代码如下:
mastercounter = 0
phdcounter = 0
nodeegreecounter = 0
for candidate in response["person"]:
if item["Degree"]:
if item["Degree"]["key"] == "Master":
mastercounter = mastercounter + 1
if item["license"]["key"] == "PhD":
phdcounter = phdcounter + 1
if item["Degree"] == None:
nodegreecounter = nodegreecounter + 1
我得到的错误是“TypeError:“非类型”对象不可下标”
是识别错误,还是代码/我的全部逻辑错误 使用if/else怎么样
mastercounter = 0
phdcounter = 0
nodeegreecounter = 0
for candidate in response["person"]:
if item["Degree"]:
if item["Degree"]["key"] == "Master":
mastercounter = mastercounter + 1
if item["license"]["key"] == "PhD":
phdcounter = phdcounter + 1
else:
nodegreecounter = nodegreecounter + 1
使用if/else怎么样
mastercounter = 0
phdcounter = 0
nodeegreecounter = 0
for candidate in response["person"]:
if item["Degree"]:
if item["Degree"]["key"] == "Master":
mastercounter = mastercounter + 1
if item["license"]["key"] == "PhD":
phdcounter = phdcounter + 1
else:
nodegreecounter = nodegreecounter + 1
正确访问dict密钥
mastercounter = 0
phdcounter = 0
nodeegreecounter = 0
for candidate in response["person"]:
if item["Degree"]:
if item["Degree"] == "Master":
mastercounter = mastercounter + 1
if item["Degree"] == "PhD":
phdcounter = phdcounter + 1
else:
nodegreecounter = nodegreecounter + 1
正确访问dict密钥
mastercounter = 0
phdcounter = 0
nodeegreecounter = 0
for candidate in response["person"]:
if item["Degree"]:
if item["Degree"] == "Master":
mastercounter = mastercounter + 1
if item["Degree"] == "PhD":
phdcounter = phdcounter + 1
else:
nodegreecounter = nodegreecounter + 1
请参考以下URL了解您的问题和答案的所有详细信息: 希望有用
谢谢..享受编码 请参考下面的URL以了解您的问题和答案的所有详细信息: 希望有用
谢谢..享受编码 这取决于JSON的组织方式。我怀疑这是一系列人的反应。像这样:
response = [{"id": "1", "Degree": "Master"}, {"id": "2", "Degree": null}]
因此,您应该使用:
for person in response:
您只需要一个人的一个属性(名为“学位”)
因此,如果一个人是一系列属性,代码将变为:
for person in response:
if person["Degree"] is None:
nodegreecounter = nodegreecounter + 1
elif person["Degree"] == "Master":
mastercounter = mastercounter + 1
elif person["Degree"] == "PhD":
phdcounter = phdcounter + 1
如果JSON的组织方式不同,那么在征求建议之前应该解释JSON结构
如果您的JSON如下所示:
{"key11": {"id": "1", "Degree": "Master"}, "key12": {"id": "2", "Degree": null}}
代码可以是:
for key in response:
if response[key]["Degree"] is None:
nodegreecounter = nodegreecounter + 1
elif response[key]["Degree"] == "Master":
mastercounter = mastercounter + 1
elif response[key]["Degree"] == "PhD":
phdcounter = phdcounter + 1
或
这取决于JSON的组织方式。我怀疑这是一系列人的反应。像这样:
response = [{"id": "1", "Degree": "Master"}, {"id": "2", "Degree": null}]
因此,您应该使用:
for person in response:
您只需要一个人的一个属性(名为“学位”)
因此,如果一个人是一系列属性,代码将变为:
for person in response:
if person["Degree"] is None:
nodegreecounter = nodegreecounter + 1
elif person["Degree"] == "Master":
mastercounter = mastercounter + 1
elif person["Degree"] == "PhD":
phdcounter = phdcounter + 1
如果JSON的组织方式不同,那么在征求建议之前应该解释JSON结构
如果您的JSON如下所示:
{"key11": {"id": "1", "Degree": "Master"}, "key12": {"id": "2", "Degree": null}}
代码可以是:
for key in response:
if response[key]["Degree"] is None:
nodegreecounter = nodegreecounter + 1
elif response[key]["Degree"] == "Master":
mastercounter = mastercounter + 1
elif response[key]["Degree"] == "PhD":
phdcounter = phdcounter + 1
或
“键”从何而来?你希望
“PhD”[“键”]
产生什么结果?你可能需要跳过[“键”]
并比较你的项目[“学位”]=“硕士”
等等。“键”从何而来?你希望“PhD”[“键”]
产生什么结果?你可能需要跳过[“键”]
并比较你的项目[“学位”]=“硕士”
等等。你为什么投票否决我?就因为你的反应迟到了D.P.S.请修复代码中的打印错误。@tkrishtop我没有投票否决你。让你的投票保持中立。你为什么投票否决我?就因为你的反应迟到了D.P.S.请修复代码中的打印错误。@tkrishtop我没有投票否决你。使你的投票中立。我没有想到一个简单的选择!成功了!我没有想到一个简单的办法!成功了!