2013-08-21 283 views
0

我有一個來自Json請求的非常簡單的響應,但我似乎無法找到解析它的簡單方法。我只找到使用第三方類的教程。我想使用C#編寫的.NET 3.5的本地功能來解釋響應。有人可以幫忙嗎?無法解析JSON響應

{ 
    "id": "10000", 
    "key": "TST-24", 
    "self": "http://www.example.com/jira/rest/api/2/issue/10000" 
} 
+4

爲什麼你不希望使用第三方軟件?爲什麼重新發明輪子,如果別人已經爲你做了辛苦的工作? –

回答

2

你可以做到這一點本身,只要你定義了服務器級別的JSON對象匹配對應:

[DataContract] 
public class MyObject { 
    [DataMember] 
    public string id { get; set; } 
    [DataMember] 
    public string key { get; set; } 
    [DataMember] 
    public string self { get; set; } 
} 

public T FromJson<T>(string value) { 
    var serializer = new DataContractJsonSerializer(typeof(T)); 
    T result; 
    using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(value), false)) { 
    result = (T)serializer.ReadObject(stream); 
    } 
    return result; 
} 
2
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, string>>(json); 
Console.WriteLine(dict["id"] + " " + dict["key"]);