Из результата вызова API у меня есть большое количество JSON для обработки.Deserializing ответ JSON без создания класса
настоящее время у меня этот
Object convertObj = JsonConvert.DeserializeObject(responseFromServer);
Я знаю, что я мог бы сделать что-то вроде
Movie m = JsonConvert.DeserializeObject<Movie>(responseFromServer);
И затем использовать его как
m.FieldName
m.AnotherField
//etc
В идеале я хотел бы сделать что-то подобные
var itemName = convertObj["Name"];
, чтобы получить первое значение имени для первого элемента в списке.
Возможно ли это, или мне нужно создать класс для десериализации?
Причина, по которой я не хочу создавать класс, я не являюсь владельцем API, и структура поля может измениться.
Редактировать.
Хорошо, поэтому я создал класс, поскольку он кажется лучшим подходом, но есть ли способ десериализовать JSON в список?
var sessionScans = new List<SessionScan>();
sessionScans = JsonConvert.DeserializeObject<SessionScan>(responseFromServer);
Жалуется на то, что он не может преобразовать SessionScan в общий список.
u может использовать 'Dynamic', но это не рекомендуется. –
Возможный дубликат [Deserialize JSON в динамический объект C#?] (Http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object) – Davatar
@MohitShrivastava Почему это не рекомендуется * ? – Jim