این تابعیه که من برای کاری مشابه با کار شما نوشتم:

public IEnumerable<Info> GetData(){ 
using (WebClient client = new WebClient())
{

client.Encoding = System.Text.Encoding.UTF8;
client.Headers.Add(HttpRequestHeader.AcceptCharset , "UTF-8");


string val = client.DownloadString(App.Address);
// deserialize json objects
var data = JsonConvert.DeserializeObject<List<Info>>(val);


// check status
if (data == null )
throw new NullReferenceException();






return data;
}
}


البته من فقط آدرس App.Address رو فراخونی میکنم. و اطلاعاتی مشابه با اطلاعات شما بصورت جیسون میده.
بعد اونها رو توی یه کلاس Info میریزم که همون فیلدها رو داره.