2012-06-06 67 views

回答

1

基于这样一个问题:Parse JSON in C#

让代表你提取JSON类,并从该JSONHelper类使用的代码从JSON中提取类链接的问题:

public class JSONHelper 
{ 
    public static T Deserialise<T>(string json) 
    { 
     T obj = Activator.CreateInstance<T>(); 
     MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)); 
     DataContractJsonSerializer serialiser = new DataContractJsonSerializer(obj.GetType()); 
     ms.Close(); 
     return obj; 
    } 
} 
2

您可以使用JObject,像: -

string response = requestData("https://api.twitter.com/1/trends/daily.json"); 
JObject jsonResponse = new JObject(); 
var name = string.Empty; 
var query = string.Empty; 
try 
{ 
     jsonResponse = JObject.Parse(response); 
     name = (string)jsonResponse["name"]; 
     query = (string)jsonRespone["query"]; 
} 
catch 
{ 
     return ""; 
} 

public string requestData(string url) 
{ 
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 

    StreamReader sr = new StreamReader(resp.GetResponseStream()); 
    string results = sr.ReadToEnd(); 
    sr.Close(); 

    return results; 
} 
+0

嗨,感谢您的快速响应。但是当我刚刚尝试时,名称和查询的值实际上为null。 – weikang

+0

这不是一个完全有效的实现,只是解决问题的一个示例方法。我使用类似的代码来解析来自json数据的推文计数,所以我知道这是可能的。 – dtsg

+0

刚看了一下你的源数据,看起来像是有一个干扰它的'root'节点'trends'。没有根节点,这个任务是微不足道的,上面的工作就可以实现。恐怕...无法帮助你 – dtsg