2012-04-13 24 views
2

Ich versuche, einige Json-Daten mit RestSharp zu lesen.Deserialisieren von JSON-Objekt zu C# -Objekt

Aber ich habe Probleme beim Lesen von JSON-Objekten. Ich habe diese 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" 
}, 

Ich brauche ein Objekt mit der Immobilie sommerlich zu schaffen und customfield_11414 Aber ich brauche nur den Wert von ihnen. Nicht das gesamte JSON-Objekt

Antwort

10

können Sie verwenden Json.Net und dynamic Stichwort zusammen

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

Sie haben ein paar Optionen. Man versucht nicht, alles zu deserialisieren, sondern JSON nur für die LINQ/XPATH-Suche verfügbar zu machen. Dies geschieht mit Hilfe Json.NET:

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

Diese alles wie JToken zurückkehren, die Sie bei Bedarf stellen könnten, oder weiter Parsen.

Verwandte Themen