ProgramingTip

Json.NET에서 키 목록을 얻으려면 어떻게해야합니까?

bestdevel 2020. 12. 14. 20:35
반응형

Json.NET에서 키 목록을 얻으려면 어떻게해야합니까?


C #과 Json.NET을 사용하고 있습니다. JObject가있는 객체 객체의 내부 object.Keys()키를 반환하는 방법과 유사하게 객체 키 목록을 원합니다 . 이것은 당연한 것처럼 보이지만 그들이하는 방법을 찾는 데 어려움을 겪고 있습니다.

편집 : 나는 문서를 통과하고, 통과하면서 모든 키를 내고 싶습니다. 이 예제는 동일 키를 여러 번 사용할 수 있습니다.

public void SomeMethod(JObject parent) {
    foreach (JObject child in parent.Children()) {
        if (child.HasValues) {
        //
        // Code to get the keys here
        //
        SomeMethod(child);
        }
    }
}

IList<string> keys = parent.Properties().Select(p => p.Name).ToList();

문서 : JObject.Properties


에서 사전 키에 JSON.NET하는 jobject의 속성 / 토큰 변환

간단히를 JObject사전 개체로 변환하고 사전 개체에서 메서드에 액세스 할 수 있습니다 Keys().

이렇게 :

using Newtonsoft.Json.Linq;
//jsonString is your JSON-formatted string
JObject jsonObj = JObject.Parse(jsonString);
Dictionary<string, string> dictObj = jsonObj.ToObject<Dictionary<string, string>>();

이제 dictObj.Keys()메서드 를 통해 해당 키에 액세스 할 수 있습니다 . dictObj.ContainsKey(keyName)또한 수행하여 키가 존재하는지 확인할 수 있습니다 .

물론 원하는대로 사전을 형식화 할 수 있습니다 Dictionary<string, object>(등일 수 있음 ).

참고 URL : https://stackoverflow.com/questions/6522358/how-can-i-get-a-list-of-keys-from-json-net

반응형