2013-05-06 45 views
0
{"sentences":[{"trans":"událost","orig":"event","translit":"","src_translit":""}],"dict":[{"pos":"podstatné jméno","terms":["událost","případ","příhoda","soutěž","sportovní disciplína"],"entry":[{"word":"událost","reverse_translation":["event","occurrence","incident","happening","affair"],"score":0.6872893},{"word":"případ","reverse_translation":["CASE","event","instance","occurrence","episode","subject"],"score":0.017476905},{"word":"příhoda","reverse_translation":["event","incident","episode"],"score":0.0021874912},{"word":"soutěž","reverse_translation":["competition","contest","event"],"score":0.0017304479},{"word":"sportovní disciplína","reverse_translation":["event"],"score":3.2700344e-05}]}],"src":"en","server_time":45} 

这段代码我需要解析自己的对象(这是谷歌翻译响应)。 .NET中是否存在“http response parser helper”?C#中是否存在http响应分析器?

就像这样(谷歌浏览器)。

enter image description here

+1

这是JSON,一个得到广泛支持的格式,但无论如此,有可能是通过谷歌或可处理谷歌翻译的响应为您第三方/开源项目,谷歌它提供了一个库! – joshuahealy 2013-05-06 23:09:56

回答

1

这是JSON和您可以用任何JSON解析器解析它。我将使用Json.Net和利用dynamic关键字

的这是json要分析

enter image description here

dynamic json = JsonConvert.DeserializeObject(text); 

foreach (var sentence in json.sentences) 
{ 
    Console.WriteLine((string)sentence.trans); 
} 
Console.WriteLine(); 


foreach (var d in json.dict) 
{ 
    Console.WriteLine("***TERMS***"); 
    foreach (var term in d.terms) 
    { 
     Console.WriteLine((string)term); 
    } 

    Console.WriteLine("***ENTRY***"); 
    foreach (var entry in d.entry) 
    { 
     Console.WriteLine((string)entry.word + " , " + (double)entry.score); 
    } 
} 

您还可以使用this site反序列化JSON你对类型 - 安全课程。该代码将是

var jObj = JsonConvert.DeserializeObject<RootObject>(text); 


public class Sentence 
{ 
    public string trans { get; set; } 
    public string orig { get; set; } 
    public string translit { get; set; } 
    public string src_translit { get; set; } 
} 

public class Entry 
{ 
    public string word { get; set; } 
    public List<string> reverse_translation { get; set; } 
    public double score { get; set; } 
} 

public class Dict 
{ 
    public string pos { get; set; } 
    public List<string> terms { get; set; } 
    public List<Entry> entry { get; set; } 
} 

public class RootObject 
{ 
    public List<Sentence> sentences { get; set; } 
    public List<Dict> dict { get; set; } 
    public string src { get; set; } 
    public int server_time { get; set; } 
} 
+0

真的很感谢,这是我想要的。 – 2013-05-07 00:11:28

4

也就是说JSON数据。 Json.NET是一个很好的用于.NET的JSON(de)序列化程序。

1

这就是JSON。使用任何C#JSON解串器。