2017-05-10 76 views
0

下面是一個示例JSON數據得到JSON對象的屬性名稱:如何在C#

{"data_header":"[ 
    { 
     "id":"1", 
     "name":"aa" 
    }, 
    { 
     "id":"2", 
     "name":"bb" 
    } 
]"} 

在C#中的功能,我這樣做是爲了這個數據轉換成我的C#對象:

JObject jsonObj = JObject.Parse(jsonData); 
JArray arr = (JArray)jsonObj["data_header"]; 
MyModel model = arr.ToObject<MyModel>(); 

廠精細。現在,我如何從jsonObj得到"data_header"的值?

感謝您的任何幫助。

+1

可以使用Newtonsoft.json的JsonConvert.DeserializeObject (jsonData) –

+3

'字符串名稱= jsonObj.Properties()第()名;' –

+0

@BrianRogers完美,謝謝:) – Shanid

回答

1

Shanid,你提到你試過@JayakrishnanGounder解決方案,你有一個錯誤,是否有可能你的模型可能沒有被設計來處理JSON數據結構。

public class NameModel 
{ 
    [JsonProperty("id")] 
    public int id {get;set;} 

    [JsonProperty("name")] 
    public string name {get;set;} 
} 

public class ContainerModel 
{ 
    [JsonProperty("data_header")] 
    public List<NameModel> data_headeer 
} 

所以,現在你應該可以使用JSON.net反序列化的@JayakrishnanGounder方法。

var model = JsonConvert.DeserializeObject<ContainerModel>(json); 
+0

是的,我確實嘗試過。但是,仍然存在錯誤。現在它正在工作。不管怎麼說,多謝拉。 – Shanid