/// <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);
        }
Exemple #2
0
    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);
    }
Exemple #4
0
        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);
        }
Exemple #5
0
 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));
 }