我有一个像这样的JObject:
{
"@STARTDATE": "'2016-02-17 00:00:00.000'",
"@ENDDATE": "'2016-02-18 23:59:00.000'"
}
Run Code Online (Sandbox Code Playgroud)
我想从JObject获取@STARTDATE和@ENDDATE值.
这是我尝试执行此任务的示例代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
注意:上面的代码无法通过JObject的键获取值.
你能帮我找到一种从JObject获取密钥值的方法吗?
Ami*_*osh 40
这应该有帮助 -
var json = "{'@STARTDATE': '2016-02-17 00:00:00.000', '@ENDDATE': '2016-02-18 23:59:00.000' }";
var fdate = JObject.Parse(json)["@STARTDATE"];
Run Code Online (Sandbox Code Playgroud)
Mar*_*rkB 11
您还可以像这样获取 jObject 中项目的值:
JToken value;
if (json.TryGetValue(key, out value))
{
DoSomething(value);
}
Run Code Online (Sandbox Code Playgroud)
尝试这个:
private string GetJArrayValue(JObject yourJArray, string key)
{
foreach (KeyValuePair<string, JToken> keyValuePair in yourJArray)
{
if (key == keyValuePair.Key)
{
return keyValuePair.Value.ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
64905 次 |
最近记录: |