itsource

JObject에서 키별로 가치를 얻는 방법

mycopycode 2023. 3. 13. 20:29
반응형

JObject에서 키별로 가치를 얻는 방법

나는 다음과 같은 JOBject를 가지고 있다.

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

JObject에서 @STARTDATE 및 @ENDATE 값을 가져오고 싶습니다.


다음은 작업을 수행하려고 시도한 샘플 코드입니다.

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

참고: 위의 코드는 JObject에서 키로 값을 가져올 수 없습니다.


JObject에서 키로 값을 얻을 수 있는 방법을 찾아 주시겠습니까?

이것이 도움이 될 것이다.

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

jObject에서 다음과 같이 항목의 값을 얻을 수도 있습니다.

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

이것을 시험해 보세요.

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

언급URL : https://stackoverflow.com/questions/37479314/how-to-get-value-by-key-from-jobject

반응형