I'm writing an app that gets a `Json` list of objects like this:

```
[
   {
       "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"
   }
  ]

```

I want to make a base class `ItemToSell` (size,cost), and derive Apple, Melon and Book from it, then make the deserialization based on the "`ObjectType`" field to whatever class it fits. I want it to build a list of `ItemToSell` objects, every object being Apple, Melon or Book.

How could I do this in .Net?

Thanks in advance :)

EDIT: I know how to deserialize it in a Big class with all the fields it can ever contain, like: `Base(ObjectType,ObjectSize,ObjectCost,ObjectColor,Pages)`. But I want it to distinguish between classes by the `ObjectType` so I won't have any usefulness fields like Pages field for every book item or `ObjectTaste` for every book.