枚举 JSON return
Enumerate JSON return
如何枚举一个JSONreturn?目标是获得一个总计数变量以添加到我的打印语句中...
我有
for i in services_js["reports"]:
print " Service Name: " + i["instances"]["serviceName"]
并尝试过:
for i in enumerate(services_js["reports"]):
print " Service Name: " + i["instances"]["serviceName"]
但得到:
TypeError: tuple indices must be integers, not str
如果没有看到 JSON 的结构,很难确定,但根据键名,您可能想要
count = 0
for report in services_js["reports"]:
for instance in report["instances"]:
count += 1
print "Service Name: " + instance["serviceName"]
print "there were {} total instances".format(count)
这不是 enumerate
的工作方式:
for i in enumerate(services_js["reports"]):
print " Service Name: " + i["instances"]["serviceName"]
它是这样工作的:
animals = ['rat', 'cat', 'mouse', 'dog']
for i, animal in enumerate(animals, start=1):
print('# {}: {}'.format(i, animal))
注意如何 enumerate returns 一个元组,(i
和 animal
)不 只是计数?
您可能还有其他问题(在您的 JSON 中),但这部分可能会让您失望。
你看到的错误是因为 i
实际上是元组 (0, some_json)
然后你试图做 i['instance']
,所以它说你不能使用字符串作为元组的索引。
如何枚举一个JSONreturn?目标是获得一个总计数变量以添加到我的打印语句中...
我有
for i in services_js["reports"]:
print " Service Name: " + i["instances"]["serviceName"]
并尝试过:
for i in enumerate(services_js["reports"]):
print " Service Name: " + i["instances"]["serviceName"]
但得到:
TypeError: tuple indices must be integers, not str
如果没有看到 JSON 的结构,很难确定,但根据键名,您可能想要
count = 0
for report in services_js["reports"]:
for instance in report["instances"]:
count += 1
print "Service Name: " + instance["serviceName"]
print "there were {} total instances".format(count)
这不是 enumerate
的工作方式:
for i in enumerate(services_js["reports"]):
print " Service Name: " + i["instances"]["serviceName"]
它是这样工作的:
animals = ['rat', 'cat', 'mouse', 'dog']
for i, animal in enumerate(animals, start=1):
print('# {}: {}'.format(i, animal))
注意如何 enumerate returns 一个元组,(i
和 animal
)不 只是计数?
您可能还有其他问题(在您的 JSON 中),但这部分可能会让您失望。
你看到的错误是因为 i
实际上是元组 (0, some_json)
然后你试图做 i['instance']
,所以它说你不能使用字符串作为元组的索引。