我一直在尝试使用REST方法,因为它很容易通过服务器端语言(这里是C#)这样做使用谷歌音译API。
所以,我碰到这个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" : [
"इंडिया","इन्डिया","इण्डिया","ईन्डिया","इनडिया",
]
},
]
我试过HttpWebRequest
和HttpWebResponse
得到JSON,但它在统一的网络浏览器返回的值,如:
[ { "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;
。 最后,我要抢做进一步处理印地文文本。
请帮忙,谢谢。