枚举JSON返回

时间:2015-09-02 15:25:05

标签: python json python-2.7 loops enumerate

如何枚举JSON返回?目标是将总计数变量添加到我的打印状态...

我有

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

2 个答案:

答案 0 :(得分:0)

很难说没有看到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)

答案 1 :(得分:0)

这不是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如何返回元组,(ianimal而不是只是计数?

您可能还有其他问题(在您的JSON中),但该部分可能会让您失望。

您看到的错误是因为i实际上是元组(0, some_json),然后您尝试i['instance'],所以它说您可以&# 39; t使用字符串作为元组的索引。