首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析github api。获取字符串索引必须是整数错误。

解析github api。获取字符串索引必须是整数错误。
EN

Stack Overflow用户
提问于 2019-04-21 19:12:14
回答 1查看 119关注 0票数 0

我需要循环通过提交和获取名称,日期,和消息的信息,从GitHub API。

https://api.github.com/repos/droptable461/Project-Project-Management/commits

我有许多不同的东西,但我一直坚持字符串索引必须是整数错误:

代码语言:javascript
复制
def git():
#name , date , message
#https://api.github.com/repos/droptable461/Project-Project-Management/commits
#commit { author { name and date
#commit { message

    #with urlopen('https://api.github.com/repos/droptable461/Project Project-Management/commits') as response:
        #source = response.read()

    #data = json.loads(source)
    #state = []
    #for state in data['committer']:
        #state.append(state['name'])
        #print(state)

    link = 'https://api.github.com/repos/droptable461/Project-Project-Management/events'
    r = requests.get('https://api.github.com/repos/droptable461/Project-Project-Management/commits')
    #print(r)

    #one = r['commit']
    #print(one)
    for item in r.json():
        for c in item['commit']['committer']:
            print(c['name'],c['date'])

    return 'suc'

需要得到的人谁提交,日期和他们的消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-21 19:24:21

item['commit']['committer']是一个字典对象,因此行:

for c in item['commit']['committer']:正在传输字典键。

因为您是在一个字符串(字典键)上调用[],所以您将得到错误。

相反,代码应该更像:

代码语言:javascript
复制
def git():
    link = 'https://api.github.com/repos/droptable461/Project-Project-Management/events'
    r = requests.get('https://api.github.com/repos/droptable461/Project-Project-Management/commits')
    for item in r.json():
        for key in item['commit']['committer']:
            print(item['commit']['committer']['name'])
            print(item['commit']['committer']['date'])
            print(item['commit']['message'])
    return 'suc'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55785884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档