2012-06-06 98 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