Как я могу получить список ключей от 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 keys = parent.Properties().Select(p => p.Name).ToList(); 

Документация: JObject.Properties

От преобразования свойств / токенов JSON.NET JObject в словарные ключи

Вы можете просто преобразовать JObject в объект Dictionary и получить доступ к методу Keys() из объекта Dictionary.

Как это:

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

Теперь вы можете получить доступ к этим ключам с помощью dictObj.Keys() . Вы можете видеть, существует ли ключ, выполняя dictObj.ContainsKey(keyName) .

Очевидно, что вы можете форматировать словарь, но вы хотите (может быть Dictionary и т. Д.).

  • Уничтожить stream массива json по одному элементу за раз
  • Как конвертировать JSON в XML или XML в JSON?
  • JSON.NET и nHibernate Lazy Загрузка коллекций
  • Как получить json.net для сериализации членов classа, полученных из List ?
  • Json.Net: свойство Serialize / Deserialize в качестве значения, а не как объект
  • JSON.NET: зачем использовать JToken - когда-либо?
  • Может ли Json.NET сериализовать / десериализовать в / из streamа?
  • JSON.Net Xml Сериализация неправильно понимает массивы
  • Как сообщить Json.Net глобально применить StringEnumConverter ко всем enumsм
  • Ошибка JSON.NET Локальный цикл привязки для типа
  • Настройте JSON.NET для игнорирования атрибутов DataContract / DataMember
  • Interesting Posts

    Нарушение рекурсии в java

    Разница между примечанием @Controller от источника и @RestController

    Не удается загрузить Windows с основного жесткого диска после форматирования диска C в Ubuntu

    Что такое этимология «слизняков»?

    Как добавить и синхронизировать папки за пределами папки SkyDrive?

    Как я могу исправить свой пользовательский PS1 для переноса длинной команды на несколько строк вместо одной строки?

    Как отменить будущее в Scala?

    Разделение 1 / n всегда возвращает 0.0

    Использование закодированного PEM-шифрованного закрытого ключа для подписи сообщения изначально

    Как проверить, включены ли службы определения местоположения?

    NodeJS: Как декодировать строку с кодировкой base64 обратно в двоичную?

    Мой компьютер перезагружается, когда я говорю об отключении

    Каким образом реализация Майерсом Синглтона на самом деле является синглтон

    Как выставить 2 папки в качестве одного сетевого ресурса в Windows 7?

    Как открыть второе действие при нажатии кнопки в приложении для Android

    Давайте будем гением компьютера.