2016-05-27 17 views
5

Ich habe ein JObject wie folgt aus:Wie bekomme ich den Wert per Schlüssel von JObject?

{ 
    "@STARTDATE": "'2016-02-17 00:00:00.000'", 
    "@ENDDATE": "'2016-02-18 23:59:00.000'" 
} 

Ich möchte @STARTDATE und @ENDDATE Wert von JObject zu bekommen.


Dies ist ein Beispielcode, den ich versucht habe, die Aufgabe zu tun:

JObject json = JObject.Parse("{\"@STARTDATE\": \"'2016-02-17 00:00:00.000'\",\"@ENDDATE\": \"'2016-02-18 23:59:00.000'\"}"); 
var key = "@STARTDATE"; 

var value = GetJArrayValue(json, key); 

private string GetJArrayValue(JObject yourJArray, JToken key) 
{ 
    string value = ""; 
    foreach (JToken item in yourJArray.Children()) 
    { 
     var itemProperties = item.Children<JProperty>(); 
     //If the property name is equal to key, we get the value 
     var myElement = itemProperties.FirstOrDefault(x => x.Name == key.ToString()); 
     value = myElement.Value.ToString(); //It run into an exception here because myElement is null 
     break; 
    } 
    return value; 
} 

Hinweis: Der obige Code kann nicht den Wert von Schlüssel aus JObject erhalten.


Können Sie mir helfen, einen Weg zu finden, um den Wert von Schlüssel aus JObject zu bekommen?

+2

Sie möchten um diese Dokumentseite zu sehen: http://www.newtonsoft.com/json/help/html/linqtojson.htm – mymo

+0

Vielen Dank. Ich habe mehr darüber erfahren. –

Antwort

5

Dies sollte helfen -

var json = "{'@STARTDATE': '2016-02-17 00:00:00.000', '@ENDDATE': '2016-02-18 23:59:00.000' }"; 
var fdate = JObject.Parse(json)["@STARTDATE"]; 
+0

Sie haben Recht! Vielen Dank für deine Hilfe. –

1

Sie auch den Wert eines Elements in der jObject wie diese bekommen:

diese
JToken value; 
if (json.TryGetValue(key, out value)) 
{ 
    DoSomething(value); 
} 
0

Versuchen:

private string GetJArrayValue(JObject yourJArray, string key) 
{ 
    foreach (KeyValuePair<string, JToken> keyValuePair in yourJArray) 
    { 
     if (key == keyValuePair.Key) 
     { 
      return keyValuePair.Value.ToString(); 
     } 
    } 
} 
Verwandte Themen