2013-03-31 17 views
37

Ich arbeite mit Json.Net, um ein Array zu analysieren. Was ich versuche, ist, die Name/Wert-Paare aus dem Array zu ziehen und sie bestimmten Variablen zuzuordnen, während das JObject analysiert wird.Analysieren eines JSON-Arrays mit Json.Net

Hier ist, was ich in dem Array haben:

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

Und hier ist, was ich in der C# haben:

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 

} 

ich JSON ziemlich neu bin und Json.Net , also könnte es eine grundlegende Lösung für jemand anderen sein. Ich muss im Grunde nur die Name/Wert-Paare in einer foreach-Schleife zuweisen, so dass ich die Daten auf dem Front-End ausgeben kann. Hat jemand das schon mal gemacht?

Antwort

86

Sie bei den Datenwerten wie folgt zu erreichen:

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 ... Das hat es für mich – johngeek

+1

dieses – JSHunjan

+0

Sir half, Können Sie mir sagen, wie kann Ich bekomme/lese alle Daten als Antwort. Ich meine mein Wert ist "geschlossen" und ich habe 80 Wert von meiner Antwort als Liste. Wie kann ich auf diese Werte zugreifen? Hilf mir bitte. – tpbafk

Verwandte Themen