我希望解析从以下代码获得的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'])
并继续运行错误:字符串索引必须是整数 不知道我在哪里丢球,但我非常感谢你对这个球的帮助。
答案 0 :(得分:1)
json.dumps()
将对象转换为字符串。所以,data
是一个字符串。因此,您无法使用'document_tone'
密钥对其进行索引(它不是dict
)。也许你的意思是json.loads()
?或者tone_analyzer.tone()
可能已经返回dict
,而且不需要loads()
?