如何从谷歌的回复中获取“成绩单”文本

时间:2014-05-13 13:44:53

标签: c#

我在c#中构建了一个google语音api,现在google不再支持V1了,所以我为V2语音api构建了一个代码,我从服务器得到了不同的响应。

下面:

  

{ “结果”:[]}   {“result”:[{“alternative”:[{“transcript”:“ hello ”,“confidence”:0.88741958}}],“final”:true}],“result_index”:0 }

我用JSON尝试了这段代码,但它不起作用:

dynamic obj = JsonConvert.DeserializeObject(responseFromServer);
            var transcript = obj.alternative[0].transcript.ToString();

它回归了一个例外:

  

完成阅读JSON内容后遇到的其他文字:{。Path“,第2行,第1位。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您粘贴的JSON有效内容无效 - 如果您在Google上搜索错误消息,那么first three results地址就会出现问题。有多个根元素,在错误的位置关闭大括号等等:

{
   "result":[

   ]
}
{
   "result":[
      {
         "alternative":[
            {
               "transcript":"hello",
               "confidence":0.88741958
            }
         }
      ],
      "final":true
   }
],
"result_index":0
}

我建议做一些进一步的研究,以了解为什么你可能会收到格式错误的JSON有效负载。

答案 1 :(得分:0)

从响应字符串中删除{“result”:[]}然后它将成为有效的反序列化JSON