解析 JSON API python

Parse JSON API python

我有以下 json:

    [{'errors': [],
  'configErrors': [],
  'summary': {'pullrequest': {'overall': {'count': 0,
     'lastUpdated': None,
     'stateCount': 0,
     'state': 'OPEN',
     'open': True},
    'byInstanceType': {}},
   'build': {'overall': {'count': 0,
     'lastUpdated': None,
     'failedBuildCount': 0,
     'successfulBuildCount': 0,
     'unknownBuildCount': 0},
    'byInstanceType': {}},
   'review': {'overall': {'count': 0,
     'lastUpdated': None,
     'stateCount': 0,
     'state': None,
     'dueDate': None,
     'overDue': False,
     'completed': False},
    'byInstanceType': {}},
   'deployment-environment': {'overall': {'count': 0,
     'lastUpdated': None,
     'topEnvironments': [],
     'showProjects': False,
     'successfulCount': 0},
    'byInstanceType': {}},
   'repository': {'overall': {'count': 0, 'lastUpdated': None},
    'byInstanceType': {}},
   'branch': {'overall': {'count': 0, 'lastUpdated': None},
    'byInstanceType': {}}}}

我需要检索值计数。 我试过循环 for:

for item in json['summary']['pullreqest']['overall']:
     value = item['count']

但是我有一个错误 must be integers or slices, not str .

json 看起来像一个数组,我修正了一个拼写错误 (pulrequest) 并简化了项目的检索。

item = json[0]['summary']['pullrequest']['overall']
print(item)
value = item['count']
print(value)

当你遍历 json[0]['summary'] 时......你正在做的是获取 ,而不是元组, 所以你不能做 item['count'].

总而言之,您正在使用 Python 字典并受其规则约束。