Esempio n. 1
0
 /// <summary>
 /// Converts a JSON string to an instance of type <c>T</c>.
 /// </summary>
 /// <param name="instance"></param>
 /// <param name="stringToSerialize"></param>
 /// <param name="deserializerSettings"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns>
 /// A deserialized instance of type <c>T</c>
 /// </returns>
 /// <exception cref="DeserializationException">
 /// Deserialization errors will contain the root <see cref="JsonToken"/> from
 /// the tokenization phase.
 /// </exception>
 public T Deserialize <T>(object instance, string stringToSerialize, DeserializerSettings deserializerSettings = null)
 {
     Tokenize(stringToSerialize, deserializerSettings);
     try
     {
         var obj = _lastTokenization.GetValue <T>(instance);
         return(obj);
     }
     catch (DeserializationException e)
     {
         e.Token = _lastTokenization;
         throw;
     }
     catch (Exception e)
     {
         throw new DeserializationException($"An error occured during deserialization. {_lastTokenization}.{_lastTokenization.Name}", _lastTokenization, e);
     }
 }