Como posso obter uma lista de chaves do Json.NET?

Estou usando o C # e o Json.NET. Se eu tenho um JObject, eu quero uma lista das chaves dentro do object, semelhante a como object.Keys() retorna as chaves dentro do object. Isso parece óbvio, mas estou tendo dificuldades para encontrar uma maneira de fazer isso.

Edit: Eu estou atravessando o object, e eu quero cuspir todas as chaves no object enquanto eu atravesso. Eu percebo que este exemplo resultará em ver a mesma chave várias vezes, e tudo bem para as minhas necessidades.

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

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

Documentação: JObject.Properties

Da conversão de propriedades / tokens do JSON.NET JObject em chaves de dictionary

Você pode simplesmente converter o JObject em um object Dictionary e acessar o método Keys() do object Dictionary.

Como isso:

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

Agora você pode acessar essas chaves pelo método dictObj.Keys() . Você pode ver se existe uma chave executando dictObj.ContainsKey(keyName) também.

Obviamente, você pode formatar o Dicionário como quiser (pode ser Dictionary , etc.).