字符串索引必须是整数错误

时间:2016-05-30 14:49:22

标签: python

我希望解析从以下代码获得的json:

import json
from watson_developer_cloud import ToneAnalyzerV3Beta
import urllib.request
import codecs
reader = codecs.getreader("utf-8")
tone_analyzer = ToneAnalyzerV3Beta(
    url='https://gateway.watsonplatform.net/tone-analyzer/api',
    username='<username>',
    password='<password>',
    version='2016-02-11')

data=json.dumps(tone_analyzer.tone(text='I am very happy'), indent=2)
print (data)

for cat in data['document_tone']['tone_categories']:
    print('Category:', cat['category_name'])
    for tone in cat['tones']:
        print('-', tone['tone_name'])

并继续运行错误:字符串索引必须是整数 不知道我在哪里丢球,但我非常感谢你对这个球的帮助。

1 个答案:

答案 0 :(得分:1)

json.dumps()将对象转换为字符串。所以,data是一个字符串。因此,您无法使用'document_tone'密钥对其进行索引(它不是dict)。也许你的意思是json.loads()?或者tone_analyzer.tone()可能已经返回dict,而且不需要loads()