错误:数组索引不能是字符串

mut 发布于 4 天前 最后更新 4 天前 1 浏览

我正在使用Python从JSON中的响应中提取特定的字符串。

def extract_description(texts):
"""Returns all the text in text annotations as a single string"""
document = ''
for text in texts:
    try:
        document += text['description']
    except KeyError as e:
        print('KeyError: %s\n%s' % (e, text))
return document
但是我收到错误:Error: array indices cannot be string。我试过使用:
for text in texts:
     try:
         if text == 'description':
             document += text
     except KeyError as e:
         print('KeyError: %s\n%s' % (e, text))
return document
但结果是'',文档为空。有没有更好的方法来做到这一点? 文本是:
   {u'textAnnotations': [{u'locale': u'eo', u'description': 
    u"...discovered
    text....", u'boundingPoly': {u'vertices': [{u'y': 32, u'x': 21},    
    {u'y': 32,
    u'x': 954}, {u'y': 685, u'x': 954}, {u'y': 685, u'x': 
    21}]}}]}]}**strong text**
此代码由Google Cloud API提供。 https://github.com/GoogleCloudPlatform/cloud-vision/tree/master/python/text
已邀请:

fet

赞同来自:

根据我对texts实际包含的内容的最佳猜测(发布的内容不是有效的Python表达式),看起来你需要这样的东西:

for text in texts:
    document += texts[text][0]['description']