Как распарсить такой ответ от vk (json) ? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите пожалуйста распарсить ответ от vk. В общем есть такой ответ в формате json:
{  
  "response":[  
    620,
    {  
      "aid":305032916,
      "owner_id":115226501,
      "artist":"Gnarls Barkley",
      "title":"Crazy (TEEMID & Joie Tan Cover) ",
      "duration":272,
      "url":"https:\/\/cs9-6v4.vk.me\/p16\/4c24ea770894d1.mp3?extra=OEg_VT_MGAyoZL5qaXZ4dXtT9-rq8quieG5pXg0Dbk69H1kHrywXav2QQ33cEuWdhqFjTLQKvzlkOfnnAPF2jDJEHMvO-Nwi0w",
      "genre":9
    }
  ]
}
Пробовал кучу примеров кода по десериализации json, разные библиотеки. Ещё пробовал примеры именно по десериализации ответов от вк, но там было не много старое. Дело в том что в последних версиях vk api теперь в response пишется ещё число 620 (честно говоря не знаю что это значит) и из за этого сдохла вся часть кода отвечающая этому (раньше этого не было, и парсилось всё намного проще). Как это десериализовать без использования Regex ? Заранее спасибо.

Решение задачи: «Как распарсить такой ответ от vk (json) ?»

textual
Листинг программы
 TrackInfo trackInfo = DictToObject<TrackInfo>(info);
 
private T DictToObject<T>(Dictionary<string, object> dict)
        {
            Type type = typeof (T);
            var obj = Activator.CreateInstance(type);
 
            foreach (var o in dict)
            {
                type.GetProperty(o.Key).SetValue(obj, o.Value);
            }
 
            return (T) obj;
        }
 
        public class TrackInfo
        {
            public int aid { get; set; }
            public int owner_id { get; set; }
            public string artist { get; set; }
            public string title { get; set; }
            public int duration { get; set; }
            public string url { get; set; }
            public int genre { get; set; }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы