2012-04-13 17 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.Netと一緒にdynamicキーワード

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

いくつかの選択肢があります。 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などあらゆるもの、またはさらに解析を返します。

関連する問題