// Deserialize a JSON stream to a User object. public List <YAppRelease> CheckAllNewRelease() { int curVersion = _svnVersion; if (curVersion < _appInterface.GetBuildNumberToIgnoreSettings()) { curVersion = _appInterface.GetBuildNumberToIgnoreSettings(); } string appname = _appName.Replace("-", ""); string request = String.Format("{0}/FR/common/getLastFirmwareLink.php?app={1}&version={2}&platform={3}", SERVER_NAME, appname, curVersion, _platform); string json = HTTPRequest(request); List <YAppRelease> newReleases = new List <YAppRelease>(); MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes("{\"available\":" + json + "}")); DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(JsonRootobject)); JsonRootobject root = (JsonRootobject)deserializer.ReadObject(ms); foreach (JsonAppRelease item in root.available) { newReleases.Add(new YAppRelease { version = Int32.Parse(item.version), link = item.link, date = item.date, what = item.what }); } ms.Close(); return(newReleases); }