private void HandleSuccess(IRestResponse response) { var updateResponse = SmartJsonConvert.DeserializeObject <UpdateResponse>(response.Content); LatestUpdate = Update.FromResponse(updateResponse, IsPortable); if (IsUpdateAvailable) { if (UpdateFound != null) { UpdateFound(this); } } else { if (UpdateNotFound != null) { UpdateNotFound(this); } } if (Checked != null) { Checked(this); } }
public static void SavePreferences(PluginAssemblyInfo assemblyInfo, Object prefs) { var json = SmartJsonConvert.SerializeObject(prefs, Formatting.Indented); var directory = Path.GetDirectoryName(assemblyInfo.ConfigFilePath); if (directory != null) { Directory.CreateDirectory(directory); } File.WriteAllText(assemblyInfo.ConfigFilePath, json); }
private static void PrintJson(List <CryptoHashInput> inputs) { Object obj = inputs; if (_map) { var map = new Dictionary <string, CryptoHashInput>(); map.AddRange(inputs.Select(input => new KeyValuePair <string, CryptoHashInput>(input.Name, input))); obj = map; } Console.WriteLine(SmartJsonConvert.SerializeObject(obj, Formatting.Indented)); }
public void UpdatePreferences(UserPreferenceMutator mutator) { var prefs = Preferences; mutator(prefs); if (!prefs.RecentFiles.RememberRecentFiles) { prefs.RecentFiles.RecentBDROMPaths.Clear(); } var json = SmartJsonConvert.SerializeObject(prefs, Formatting.Indented); File.WriteAllText(PreferenceFilePath, json); }
private void HandleTmdbError(Exception ex) { var tmdbResponse = _tmdbApi.ResponseContent; try { var pluginSettings = SmartJsonConvert.DeserializeObject <TmdbApiErrors>(tmdbResponse); Logger.ErrorFormat("api.themoviedb.org returned status code {0}: \"{1}\"", pluginSettings.StatusCode, pluginSettings.StatusMessage); } catch { } }
public static T GetPreferences <T>(PluginAssemblyInfo assemblyInfo, TypeFactory <T> defaultFactory) { if (File.Exists(assemblyInfo.ConfigFilePath)) { try { var json = File.ReadAllText(assemblyInfo.ConfigFilePath); return(SmartJsonConvert.DeserializeObject <T>(json)); } catch (Exception e) { Logger.WarnFormat("Unable to deserialize settings file: {0}", e); } } return(defaultFactory()); }
private TResponse Request <TResponse>(IGitHubRequest <TResponse> request) where TResponse : new() { var headers = new List <string> { string.Format("Authorization: token {0}", _oauthToken) }; var httpRequest = HttpRequest.BuildRequest(request.Method, request.Url, false, headers); // Expected response format httpRequest.Accept = "application/vnd.github.v3+json"; if (request.Method == HttpRequestMethod.Put || request.Method == HttpRequestMethod.Post) { // Request body format httpRequest.ContentType = "application/json"; using (var requestStream = httpRequest.GetRequestStream()) using (var streamWriter = new StreamWriter(requestStream)) { var json = SmartJsonConvert.SerializeObject(request); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } } try { using (var httpResponse = httpRequest.GetResponse()) { return(GetResponse <TResponse>(httpResponse)); } } catch (WebException ex) { var errorResponse = GetResponse <ErrorResponse>(ex.Response); Logger.Error(errorResponse.ToString(), ex); throw new RequestException(ex, errorResponse); } }
/// <exception cref="WebException"> /// Thrown if <paramref name="httpResponse"/> is <c>null</c> or <see href="WebResponse.GetResponseStream"/> returns <c>null</c>. /// </exception> private static TResponse GetResponse <TResponse>(WebResponse httpResponse) { if (httpResponse == null) { throw new WebException("No response received"); } using (var responseStream = httpResponse.GetResponseStream()) { if (responseStream == null) { throw new WebException("Response stream is null"); } using (var streamReader = new StreamReader(responseStream)) { var responseText = streamReader.ReadToEnd(); var response = SmartJsonConvert.DeserializeObject <TResponse>(responseText); return(response); } } }
public static Works Import() { var licenseMap = SmartJsonConvert.DeserializeObject <Dictionary <string, License> >(GetResource("licenses_json")); var licenses = new List <License>(); foreach (var id in licenseMap.Keys) { var license = licenseMap[id]; license.Id = id; license.Text = GetResource(id + "_md"); license.Html = GetResource(id + "_html"); licenses.Add(license); } var works = SmartJsonConvert.DeserializeObject <Works>(GetResource("works_json")); foreach (var work in works.All.Where(work => work.LicenseId != null)) { work.License = licenseMap[work.LicenseId]; } return(works); }
public void TestDeserialize() { var actualObject = SmartJsonConvert.DeserializeObject <Person>(ExpectedJson); Assert.AreEqual(ExpectedObject, actualObject); }
public void TestSerialize() { var actualJson = SmartJsonConvert.SerializeObject(ExpectedObject); Assert.AreEqual(ExpectedJson, actualJson); }