我遍历json
对象,存储在myData
中
当我这样做时:
for something in range(1,10):
currentThing = "w{}".format(something)
someData = myData["Response"][currentThing.upper()]
for j in someData:
c += 1
print currentThing + " " + c
c = 0
我得到了预期的结果。
w1
到w9
会被计算并显示出来。
但是,当我添加这些行
时for something in range(1,10):
currentThing = "w{}".format(something)
if currentThing in myData["Response"]:
someData = myData["Response"][currentThing.upper()]
for j in someData:
c += 1
print currentThing + " " + c
c = 0
它省略w1
,w3
,w4
,w9
。
那是为什么?!
答案 0 :(得分:4)
在第二个代码块中,您添加的if语句需要转换为大写。将该行更改为:
if currentThing.upper() in myData["Response"]:
答案 1 :(得分:0)
由于某种原因,您检查密钥currentThing
是否在myData["Response"]
中,但是继续从中获取currentThing.upper()
。
因此,检查currentThing.upper()
是否在myData["Response"]
,而不是感觉就像你应该做的那样