2013-03-31 25 views
37

Pracuję z Json.Net, aby przeanalizować tablicę. Co próbuję zrobić, to wyciągnąć pary nazwa/wartość z tablicy i przypisać je do określonych zmiennych podczas analizowania JObject.Parsowanie tablicy JSON przy użyciu Json.Net

Oto co mam w tablicy:

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

A oto co mam w 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 

} 

Jestem całkiem nowy, JSON i Json.Net , więc może to być podstawowe rozwiązanie dla kogoś innego. Zasadniczo wystarczy przypisać pary nazwa/wartość w pętli foreach, aby móc wyprowadzić dane na front-end. Czy ktoś to wcześniej zrobił?

Odpowiedz

86

można uzyskać w wartości danych, takich jak ten:

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); 
    } 
} 

Fiddle: https://dotnetfiddle.net/uox4Vt

+3

You Rock ... To nie dla mnie – johngeek

+1

ten pomógł – JSHunjan

+0

Panie, mógłbyś mi powiedzieć, w jaki sposób można Otrzymuję/odczytuję wszystkie dane w odpowiedzi. Mam na myśli, że moja wartość jest "zamknięta" i mam 80 wartości z mojej odpowiedzi jako listy. Jak uzyskać dostęp do tych wartości? Pomóż mi proszę. – tpbafk

Powiązane problemy