Как я могу получить список ключей от 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 и т. Д.).

  • Настройте JSON.NET для игнорирования атрибутов DataContract / DataMember
  • Обеспечение json-ключей в .NET
  • Как преобразовать escape-строку JSON в объект JSON?
  • Информация о сериализации типов кеша Json.NET?
  • Как реализовать пользовательский JsonConverter в JSON.NET для десериализации списка объектов базового classа?
  • Игнорирование нулевых полей в Json.net
  • В чем разница между PreserveReferencesHandling и ReferenceLoopHandling в Json.Net?
  • Ошибка при запуске JSON.NET при сериализации Mongo ObjectId
  • Альтернативное имя свойства при десериализации
  • JSON.NET Parser * кажется * будет двойной сериализацией моих объектов
  • Линейная сериализация и де-сериализация
  • Interesting Posts

    Проблемы с файловыми путями в R с использованием Windows (ошибка «шестнадцатеричные цифры в символьной строке»)

    Как проверить, поддерживает ли процессор набор инструкций SSE3?

    Какие нестандартные функции поведения Gmail демонстрируют, когда они программно используются в качестве сервера POP3?

    Как включить все изображения в файле jar с помощью eclipse

    Использование отношений с несколькими менеджерами сущностей

    дисплей: блок внутри дисплея: встроенный

    Что эквивалентно окончанию Java в C #?

    Указанный член типа не поддерживается в LINQ to Entities. Поддерживаются только инициализаторы, сущности и свойства навигации сущности

    Должно ли соединение базы данных оставаться открытым все время или только при необходимости открываться?

    Android SQLite issue – table … не имеет столбца с именем

    Почему нет статических методов в интерфейсах, но статические поля и внутренние classы в порядке?

    Поддержка JPEG 2000 в C # .NET

    Оператор обновления с внутренним соединением в Oracle

    угловая ng-init альтернатива в угловом 2

    Выбор нескольких строк в JTable

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