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

  • Как я могу вернуть CamelCase JSON, сериализованный JSON.NET из методов controllerа ASP.NET MVC?
  • Использование JSON.NET для возврата ActionResult
  • Как использовать JSON.NET для десериализации в вложенный / рекурсивный словарь и список?
  • Deserializing JSON, когда иногда массивы, а иногда и объекты
  • .NET NewtonSoft JSON десериализует карту для другого имени свойства
  • Как преобразовать datatable в строку json с помощью json.net?
  • Поиск конкретного JToken по имени в иерархии JObject
  • Как использовать Json.NET для JSON-моделирования в проекте MVC5?
  • JsonValueProviderFactory выбрасывает «запрос слишком большой»
  • В чем разница между PreserveReferencesHandling и ReferenceLoopHandling в Json.Net?
  • Удаление десериализации JSON в .NET-объект с использованием Newtonsoft (или LINQ to JSON, возможно?)
  • Interesting Posts

    Возвращаемое значение из вызываемой функции в сценарии оболочки

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

    Как получить доступ к элементу шаблона управления из кода

    Что означает robocopy, если вы изменили, одиноко и дополнительно?

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

    Каким образом исходный шаблон StartCoroutine / yield действительно работает в Unity?

    Как отправить PUT, DELETE HTTP-запрос в HttpURLConnection?

    Взаимодействие между формами – Как изменить контроль формы из другой формы?

    Перемещение фигуры Stick, опорных точек, анимации или чего-то еще …?

    Текст в речь (TTS) – Андроид

    Я всегда подключаюсь к Интернету на следующий день, когда подключаюсь к новой машине, проводной?

    Word 2010 надстрочный ярлык перестает работать

    Векторизованные шрифты в формате PDF для монтажа ImageMagick?

    Почему InputStream # read () возвращает int, а не байт?

    String.format () для форматирования double в java

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