Если предположить, что вы используете NewtonSoft в JSON парсер или что-то подобное, у вас есть несколько вариантов здесь. Обычное использование здесь случай десериализовать к указанному типу, таким образом:
var parsedMessage = JsonConvert.DeserializeObject<Message>(content.AsString());
Если у вас есть много типов для каждого Поменяя типа JSON сообщений, который вы хотите получить, и хотят, чтобы избежать, вы можете сделать следующее:
var parsedMessage = JsonConvert.DeserializeObject<dynamic>(content.AsString());
Это даст вам динамический объект, который вы можете проверить, а также работать с другими библиотеками Json. В качестве альтернативы, NetwtonSoft также предоставляет следующий метод:
public static T DeserializeAnonymousType<T>(string value, T anonymousTypeObject);
Это позволит вам десериализацию к анонимно типизированному объекту, а не динамическому объекту.
Можете ли вы определить «фиктивный объект»? Трудно научить вас лучше, не имея никакого кода, на который можно смотреть. Я также не уверен, что вы подразумеваете под «лучше». Вы имеете в виду более читаемые или более совершенные или оба или что-то еще полностью? Как вы считаете, не так ли с классом с большим количеством участников? Пока члены являются свойствами (т. Е. Класс является POCO DTO), это довольно нормально. –
Что вы используете для сериализации/десериализации JSON? JSON.net? 'JavaScriptSerializer'? –