2012-04-13 3 views
2

임 RestSharp를 사용하여 일부 json 데이터를 읽으려고합니다.JSON 객체를 C# 객체에 비 직렬화

하지만 json 객체를 읽는 데 문제가 있습니다. 나는이 응 답이 있습니다

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

몇 가지 옵션이 있습니다. 하나는 모든 것을 병렬화하지 않고 시도하는 것이 아니라 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 모든 항목을 반환, 당신이 필요한 경우 캐스트, 또는 추가 구문 분석 할 수있다.

관련 문제