C# - десереализация JSON без описания класса
Возникла необходимость, получать от серверной стороны данные в формате JSON, и далее с ними работать. В ответ на запрос прилетает массив обьектов в JSON (сообщения чата), которые необходимо распасить / либо десереализовать в объект. Однако любые мануалы по C#, в вопросах сериализации / десереализации сначала описывают объект, сериализуют его, и далее - десереализуют JSON на основании вышеописанного класса. Неужели обязательно перед десереализацией описывать класс, на основании которого будет десереализовываться объект?
Ведь JSON фактически уже содержит названия полей и данные в них, возможно как либо десереализовать JSON сразу в объект и с ним работать?