我一直在尝试使用 RESTful 方法使用 Google Transliterate API,因为它很容易通过服务器端语言(此处为 C#)来实现。
因此,我遇到了这种 URL 格式:http://www.google.com/transliterate/indic?tlqt=1&langpair=en|hi&text=bharat%2Cindia&tl_app=3以以下格式返回 JSON:
[
{
"ew" : "bharat",
"hws" : [
"भारत","भरत","भरात","भारात","बहरत",
]
},
{
"ew" : "india",
"hws" : [
"इंडिया","इन्डिया","इण्डिया","ईन्डिया","इनडिया",
]
},
]
我尝试获取 JSON HttpWebRequest
,HttpWebResponse
但它在 Web 浏览器上以 Unicode 格式返回值,例如:
[ { "ew" : "bharat", "hws" : [ "\u092D\u093E\u0930\u0924","\u092D\u0930\u0924","\u092D\u0930\u093E\u0924","\u092D\u093E\u0930\u093E\u0924","\u092C\u0939\u0930\u0924", ] }, { "ew" : "india", "hws" : [ "\u0907\u0902\u0921\u093F\u092F\u093E","\u0907\u0928\u094D\u0921\u093F\u092F\u093E","\u0907\u0923\u094D\u0921\u093F\u092F\u093E","\u0908\u0928\u094D\u0921\u093F\u092F\u093E","\u0907\u0928\u0921\u093F\u092F\u093E", ] }, ]
所以,我应用了这篇文章并通过它传递了 JSON字符串,它返回:
[ { "ew" : "bharat", "hws" : [ "भारत","भरत","भरात","भारात","बहरत", ] }, { "ew" : "india", "hws" : [ "इंडिया","इन्डिया","इण्डिया","ईन्डिया","इनडिया", ] }, ]
第一个问题:到目前为止我做得对吗?因为在浏览器中它不显示最后一个" ] "
,但是" ] "
存在于 HTML 源代码中(不确定为什么会发生这种情况)。另外,当我尝试解析它时,使用(使用这种技术我可能错了):
var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<Dictionary<string, dynamic>>(the_JSON_string);
它给我错误说:
Invalid array passed in, extra trailing ','.
第二个问题:如果到目前为止我做得对,我可以获得一些帮助来解析印地语单词吗?我应该采取什么方法最好使用System.Web.Script.Serialization;
. 最终我想获取印地语文本进行进一步处理。
请帮忙,谢谢。