/// <summary> /// Reads the JSON representation of the object. /// </summary> /// <param name="reader">The <see cref="Newtonsoft.Json.JsonReader"/> to read from.</param> /// <param name="objectType">Type of the object.</param> /// <param name="existingValue">The existing value of object being read.</param> /// <param name="serializer">The calling serializer.</param> /// <returns>The object value.</returns> public override object ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { try { // Load JObject from stream Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Load(reader); // Create target object based on JObject T target = Create(objectType, jObject); // Populate the object properties serializer.Populate(jObject.CreateReader(), target); return(target); } catch (Newtonsoft.Json.JsonSerializationException ex) { //TODO how to get this information up. throw ex; } catch (Exception ex) { //TODO how to get this information up. throw ex; } //Else ignore parameter return(null); }
public override object ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { var jObject = Newtonsoft.Json.Linq.JObject.Load(reader); Response target = CreateResponse(jObject); serializer.Populate(jObject.CreateReader(), target); return(target); }
public override object ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { var obj = JObject.Load(reader); var target = Create(objectType, obj); serializer.Populate(obj.CreateReader(), target); return(target); }
public static bool ParseInto(Stream stream, object obj, Newtonsoft.Json.JsonSerializerSettings settings = null) { try { var serializer = new Newtonsoft.Json.JsonSerializer(); if (settings != null) { serializer.ContractResolver = settings.ContractResolver; } using (var reader = new StreamReader(stream, System.Text.Encoding.UTF8)) { serializer.Populate(reader, obj); } return(true); } catch (Exception) { } return(false); }
protected virtual T Deserialize <T>(string data, object inObject) { try { if (inObject is T) { var serializer = new Newtonsoft.Json.JsonSerializer(); using (var reader = new StringReader(data)) { var outObj = (T)inObject; serializer.Populate(reader, outObj); return(outObj); } } return(Newtonsoft.Json.JsonConvert.DeserializeObject <T>(data)); } catch (Exception ex) { Debug.WriteLine(ex); } return(default(T)); }