2012-04-13 140 views
2

我試圖用RestSharp讀取一些json數據。反序列化JSON對象到C#對象

但即時通訊閱讀json對象有一些問題。 我有這個respons:

expand: "html", 
self: "<url>/INCIDENT-447", 
key: "INCIDENT-447", 
fields: { 
    customfield_11414: { 
    name: "Corrective Measures", 
    type: "com.atlassian.jira.plugin.system.customfieldtypes:textarea" 
}, 
    summary: { 
    name: "summary", 
    type: "java.lang.String", 
    value: "BLA BLA BLA" 
}, 

我需要建立與物業的夏日和customfield_11414 一個對象,但我只需要他們的價值。不是整個JSON對象

回答

10

您可以使用Json.Netdynamic關鍵字一起

dynamic dynObj = JsonConvert.DeserializeObject(json); 
Console.WriteLine(dynObj.fields.customfield_11414.name + " " + 
        dynObj.fields.summary.value); 
1

您有幾個選項。一種是不嘗試並反序列化所有內容,而只是將JSON用於LINQ/XPATH樣式搜索。這是使用Json.NET

var json = " ... "; // your json here 
var o = JObject.Parse(json); 
var summary = o["summary"]; 
var customfield_11414 = o.SelectToken("customfield_11414"); 

這些返回的一切,JToken,其中如果需要的話,你可以投,或進一步解析。