我使用IBM语音转文本服务从音频文件中获取文本。
这就是数据的样子
{
"result": {
"results": [
{
"alternatives": [
{
"confidence": 0.6,
"transcript": "state radio "
}
],
"final": true
},
{
"alternatives": [
{
"confidence": 0.77,
"transcript": "tomorrow I'm headed to mine nine
consecutive big con I'm finna old tomorrow I've got may meet and greet
with whoever's dumb enough to line up for that and then on Friday you can
catch me on a twitch panel"
}
],
"final": true
我尝试使用
将其转换为JSON print(json.dumps(output, indent = 4))
但是它给出了错误
TypeError: Object of type DetailedResponse is not JSON serializable
如何使用此数据仅打印“成绩单”?
答案 0 :(得分:1)
json.dumps()
将Python对象转换为JSON字符串,这是由API示例完成的,用于记录/打印响应,但是在Python 3.7的怪癖中,使Python对象json可序列化的原因改变了。
如果看一下TypeError,output
是类型DetailedResponse
的实例。因此,您需要修改代码以使用适当的对象封装
print(json.dumps(output.get_result(), indent = 4))
或因为它不是受保护的属性。
print(json.dumps(output.result, indent = 4))
幸运的是,output.result
是json可序列化的。