Получение данных после десериализации JSON - C#
Формулировка задачи:
Пытался найти способ десериализовывать json без добавления лишних структур в проект (как это делается в newtonsoft) при помощи динамичных объектов. Нашел вот такой вот интересный способ.
Далее - хуже. Есть JSON:
используется код как указано в примере:
десериализуется идеально (результат на экране) но каким образом я могу получить указанные данные?
Пытался использовать следующие варианты, все возвращали Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
Листинг программы
- {
- "response":
- [
- 2110,
- {
- "body":"Текст",
- "mid":5,"uid":1,
- "from_id":9,
- "date":3,
- "read_state":1,
- "out":0
- },
- {
- "body":"Текст",
- "mid":4,"uid":2,
- "from_id":8,
- "date":6,
- "read_state":1,
- "out":0
- },
- {
- "body":"Текст",
- "mid":3,
- "uid":3,
- "from_id":7,
- "date":5,
- "read_state":1,
- "out":0
- },
- {
- "body":"Текст",
- "mid":2,
- "uid":4,
- "from_id":6,
- "date":4,
- "read_state":1,
- "out":0
- },
- {
- "body":"Текст",
- "mid":1,
- "uid":5,
- "from_id":5,
- "date":1,
- "read_state":1,
- "out":0
- }
- ]
- }
Листинг программы
- var serializer = new JavaScriptSerializer();
- serializer.RegisterConverters( new[] { new DynamicJsonConverter() } );
- string json = ...; // тот что выше
- dynamic res = serializer.Deserialize( json, typeof( object ) );
Листинг программы
- res.response[1].body;
- res.response[1][1];
- res.response[1][1].body;
Решение задачи: «Получение данных после десериализации JSON»
textual
Листинг программы
- res.response[1]["body"];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д