Парсинг c Newtonsoft.Json - C#

Узнай цену своей работы

Формулировка задачи:

Хотел попробовать распарсить json с динамическими объектами Но честно говоря вообще не получилось даже значение известного ключа вытащить. Использую рекомендуемую(в ответах гугла по c# json) библиотеку Newtonsoft На основе примера из оф. документации
Листинг программы
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. namespace ConsoleApplication2
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. string json = @"{
  10. ""Work"": {
  11. ""Count"": 5,
  12. ""Clients"": {
  13. ""3035678"": ""Виснецов С.В."",
  14. ""7579106"": ""Гивеншина Н."",
  15. ""1199849"": ""Цой А.М."",
  16. ""200042"": ""Ильин А.К."",
  17. ""17658"": ""Поромко С.В.""
  18. }
  19. }
  20. }";
  21. JObject o = JObject.Parse(json);
  22. Console.WriteLine(o["Count"]);
  23. }
  24. }
  25. }
в итоге в o["Count"]) - null. ЧЯДНТ? Вообще как правильно парсить json текст с неизвестными ключами, как в этом примере?

Решение задачи: «Парсинг c Newtonsoft.Json»

textual
Листинг программы
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3.  
  4. namespace ConsoleApplication2
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             string json = @"{
  11.            ""Work"": {
  12.                ""Count"": 5,
  13.                ""Clients"": {
  14.                ""3035678"": ""Виснецов С.В."",
  15.                ""7579106"": ""Гивеншина Н."",
  16.                ""1199849"": ""Цой А.М."",
  17.                ""200042"": ""Ильин А.К."",
  18.                ""17658"": ""Поромко С.В.""
  19.                }
  20.            }
  21.            }";
  22.  
  23.             JObject o = JObject.Parse(json);
  24.  
  25.             foreach(JToken tkn in o["Work"]["Clients"])
  26.             {
  27.                 foreach(IJEnumerable<JToken> ter in tkn.Values())
  28.                 {
  29.                     Console.WriteLine(ter.ToString());
  30.                 }
  31.             }
  32.             Console.ReadLine();
  33.         }
  34.     }
  35. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут