Newtonsoft JSON Deserialize

Мой JSON выглядит следующим образом:

{"t":"1339886","a":true,"data":[],"Type":[['Ants','Biz','Tro']]} 

Я нашел библиотеку десериализации Newtonsoft JSON.NET для C #. Я попытался использовать его следующим образом:

 object JsonDe = JsonConvert.DeserializeObject(Json); 

Как я могу получить доступ к объекту JsonDe чтобы получить все данные «Тип»? Я пробовал его с помощью цикла, но он не работает, потому что у объекта нет счетчика.

Вы можете реализовать class, который содержит поля, которые у вас есть в вашем JSON

 class MyData { public string t; public bool a; public object[] data; public string[][] type; } 

а затем используйте общую версию DeserializeObject:

 MyData tmp = JsonConvert.DeserializeObject(json); foreach (string typeStr in tmp.type[0]) { // Do something with typeStr } 

Документация: Сериализация и десериализация JSON

Гораздо проще: использование динамического типа

Начиная с версии Json.NET 4.0 Release 1 существует встроенная динамическая поддержка. Вам не нужно объявлять class, просто используйте dynamic :

 dynamic jsonDe = JsonConvert.DeserializeObject(json); 

Все поля будут доступны:

 foreach (string typeStr in jsonDe.Type[0]) { // Do something with typeStr } string t = jsonDe.t; bool a = jsonDe.a; object[] data = jsonDe.data; string[][] type = jsonDe.Type; 

С динамикой вам не нужно создавать определенный class для хранения ваших данных.

В соответствии с документацией Newtonsoft вы также можете десериализовать анонимный объект следующим образом:

 var definition = new { Name = "" }; string json1 = @"{'Name':'James'}"; var customer1 = JsonConvert.DeserializeAnonymousType(json1, definition); Console.WriteLine(customer1.Name); // James 
  • Удаление десериализации JSON в .NET-объект с использованием Newtonsoft (или LINQ to JSON, возможно?)
  • Уничтожить вложенные JSON в объекты C #
  • Разбор большого json-файла в .NET.
  • Json.NET Отключить десериализацию в DateTime
  • Дессериализация данных JSON на C # с использованием JSON.NET
  • Как использовать JSON.NET для десериализации в вложенный / рекурсивный словарь и список?
  • Десериализация JSON с использованием JSon.NET с динамическими данными
  • Полиморфизм в аннотациях jacksonа: использование @JsonTypeInfo
  • Можно ли указать путь в атрибуте для сопоставления свойства в моем classе с дочерним свойством в моем JSON?
  • JSON для экземпляра classа TypeScript?
  • Давайте будем гением компьютера.