报名参加了一个创青春大学生创业大赛,需要把人机交互完善一下,就做了一个简单的语音交互界面。程序的大体思路是语音方面(包括文字转语音,语音转文字)调用科大讯飞的 SDK完成,智能方面(包括智能文字回复) ,程序不难,但是在json数据的解析方面花的时间有点长。
json是非常常见的数据交换格式,以键值对的形式传输,比如:{"sn":1,"ls":false,"bg":0,"ed":0,"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"啊"}]},{"bg":0,"cw":[{"sc":0.00,"w":"啊"}]}]},这个是科大讯飞文字转语音的标准回复格式,要想把需要的文字提取出来,我们先来分析一下这个数据
{
"sn":1,
"ls":false,
"bg":0,
"ed":0,
"ws":
[{ "bg":0, "cw":[{"sc":0.00,"w":"啊"}]},{"bg":0,"cw":[{"sc":0.00,"w":"啊"}] }]
}
分析后不难发现,我们需要的是ws里的数据,其余关键字里都是表示状态。麻烦的是ws 并不是具体的数据,而是json数组,可以理解为新