2014-03-07 278 views
3

我有一個json字符串,我試圖用JSON.net解析,我想循環並使用komponent數組中的名稱。這是我的JSON字符串:用JObject,JToken和JArray解析JSON.NET

{"Name": "Service","jsonTEMPLATE": "{"komponent": [{"name": "aa"}, {"name": "bb"}]}"} 

這是使用JSON.net

JObject o = JObject.Parse(serviceData); 
    JToken j = (JToken)o.SelectToken("jsonTEMPLATE"); 
    JArray a = (JArray)j.SelectToken("komponent"); 

    foreach (JObject obj in a) 
    { 
     //Do something 
    } 

我的代碼,我得到null(JArray)j.SelectToken("komponent");

我到底做錯了什麼?

回答

6

您的JSON無效。你可以運行它通過JSONLint.com來檢查它。你周圍有jsonTEMPLATE屬性,它不應該存在的價值的報價如果是interpretted作爲一個對象:

的JSON需要像這樣爲你的代碼的成功:

{ 
    "Name": "Service", 
    "jsonTEMPLATE": {"komponent": [{"name": "aa"}, {"name": "bb"}]} 
}