2013-03-31 64 views
37

我正在使用Json.Net來解析數組。我想要做的是從數組中拉出名稱/值對,並在解析JObject時將它們分配給特定的變量。使用Json.Net解析JSON數組

下面是我在數組中已經有了:

[ 
    { 
    "General": "At this time we do not have any frequent support requests." 
    }, 
    { 
    "Support": "For support inquires, please see our support page." 
    } 
] 

這裏就是我在C#已經有了:

WebRequest objRequest = HttpWebRequest.Create(dest); 
WebResponse objResponse = objRequest.GetResponse(); 
using (StreamReader reader = new StreamReader(objResponse.GetResponseStream())) 
{ 
    string json = reader.ReadToEnd(); 
    JArray a = JArray.Parse(json); 

    //Here's where I'm stumped 

} 

我是相當新的JSON和Json.Net ,所以它可能是其他人的基本解決方案。我基本上只需要在foreach循環中分配名稱/值對,以便我可以在前端輸出數據。有沒有人做過這個?

回答

86

你可以在這樣的數據值獲得:

string json = @" 
[ 
    { ""General"" : ""At this time we do not have any frequent support requests."" }, 
    { ""Support"" : ""For support inquires, please see our support page."" } 
]"; 

JArray a = JArray.Parse(json); 

foreach (JObject o in a.Children<JObject>()) 
{ 
    foreach (JProperty p in o.Properties()) 
    { 
     string name = p.Name; 
     string value = (string)p.Value; 
     Console.WriteLine(name + " -- " + value); 
    } 
} 

小提琴:https://dotnetfiddle.net/uox4Vt

+3

你搖滾......這爲我做這 – johngeek

+1

一個幫助 – JSHunjan

+0

先生,你能告訴我怎麼能我得到/讀取所有的數據作爲迴應。我的意思是我的價值是'closed',我的回答是80作爲列表的價值。如何訪問這些值?請幫幫我。 – tpbafk