如何从JObject获取密钥值?

时间:2016-05-27 09:05:37

标签: c# json

我有一个像这样的JObject:

document.addEventListener("pause",onPause,false);

function onPause() {
  $timeout(function() {
    console.log("Running in background for more than 5s now ...");
  }, 5000);

};

我想从JObject获得@STARTDATE和@ENDDATE值。

这是我尝试执行此任务的示例代码:

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

注意:上面的代码无法通过JObject的键获取值。

你能帮我找到一种从JObject获取密钥值的方法吗?

3 个答案:

答案 0 :(得分:28)

这应该有帮助 -

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

答案 1 :(得分:2)

您还可以像这样获取jObject中项目的值:

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

答案 2 :(得分:2)

试试这个:

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