Десериализовать JSON на основе полей в .Net (C #)

Я пишу приложение, которое получаетJson список объектов вроде этого:

[
   {
       "ObjectType": "apple",
       "ObjectSize": 35,
       "ObjectCost": 4,
       "ObjectTaste": "good",
       "ObjectColor": "golden"
   },
   {
       "ObjectType": "books",
       "ObjectSize": 53,
       "ObjectCost": 7,
       "Pages": 100
   },
   {
       "ObjectType": "melon",
       "ObjectSize": 35,
       "ObjectTaste": "good",
       "ObjectCost": 5
   },
   {
       "ObjectType": "apple",
       "ObjectSize": 29,
       "ObjectCost": 8,
       "ObjectTaste": "almost good",
       "ObjectColor": "red"
   }
  ]

Я хочу сделать базовый классItemToSell (размер, стоимость), и извлечь из него Apple, дыни и книги, а затем сделать десериализацию на основе "ObjectType"поле для любого класса, который он подходит. Я хочу, чтобы он составил списокItemToSell объекты, каждый объект Яблоко, Дыня или Книга.

Как я мог сделать это в .Net?

Заранее спасибо :)

РЕДАКТИРОВАТЬ: я знаю, как десериализовать его в большом классе со всеми полями, которые он может когда-либо содержать, например:Base(ObjectType,ObjectSize,ObjectCost,ObjectColor,Pages), Но я хочу, чтобы он различал классы поObjectType поэтому у меня не будет никаких полезных полей, таких как поле Страницы для каждого элемента книги илиObjectTaste за каждую книгу.

Ответы на вопрос(6)

Ваш ответ на вопрос