首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python键错误JSON

Python键错误JSON
EN

Stack Overflow用户
提问于 2016-12-12 18:47:28
回答 1查看 852关注 0票数 0

我正在尝试从Datumbox API中做twitter情感分析功能,并且一直存在问题。我调用API的函数如下所示:

代码语言:javascript
复制
def call(text):
    api_key = '<my_api_key>'
    base_url = "http://api.datumbox.com/1.0/TwitterSentimentAnalysis.json?"
    response = requests.get(base_url+'api_key='+api_key+'&'+'text='+text)
    data = response.json()
    result = data['output']['result']
    return result

大多数情况下,这个函数可以工作。然而,在我尝试运行函数几百次之后,我一直将KeyError:'result‘作为错误。以下是API的文档:

代码语言:javascript
复制
JSON Response:
{
 "output": {
 "status": 1,
 "result": "positive"
 }
}

JSON“结果”值:在此函数中,上述JSON结果字段的可能值为:“正”、“负”或“中性”

有人知道我的功能可能出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-12 18:55:10

来自API的文档:

如果在执行调用时发生错误,则我们的API将返回状态为0。在这种情况下,它还会产生错误代码和错误消息。以下是错误回复的样子: {“输出”:{“状态”:0,“错误”:{ "ErrorCode":6,"ErrorMessage":“无效帐户”}}

首先要检查status是否设置为1,然后再尝试访问result键,因为如果status设置为0,则不会有这样的键:

代码语言:javascript
复制
data = response.json()
if data['output']['status']:
    return data['output']['result']
else:
    raise SomeException(
        'Failed to get a result, error {0[ErrorCode]}, {0[ErrorMessage]!r}'.format(
            data['output']['error']))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41107499

复制
相关文章

相似问题

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