Esempio n. 1
0
 /// <summary>
 /// decodes <paramref name="nsonString"/> into standard system and generic types
 /// </summary>
 /// <returns>The nson.</returns>
 /// <param name="nsonString">Nson string.</param>
 /// <param name="settings">Settings.</param>
 public static object FromNson(string nsonString, NsonSettings settings = null)
 {
     using (var instance = new NsonDecoder(nsonString, settings))
     {
         return(instance.DecodeValueUntyped(instance.GetNextToken()));
     }
 }
Esempio n. 2
0
 /// <summary>
 /// overwrites the data on <paramref name="obj"/> with the data serialized from JSON. This will only
 /// work for custom objects, Dictionarys and Lists.
 /// </summary>
 /// <param name="nsonString">Nson string.</param>
 /// <param name="obj">Object.</param>
 /// <param name="settings">Settings.</param>
 public static void FromNsonOverwrite(string nsonString, object obj, NsonSettings settings = null)
 {
     using (var instance = new NsonDecoder(nsonString, settings))
     {
         var type = obj.GetType();
         if (obj is IDictionary)
         {
             instance.DecodeDictionary(type, obj);
         }
         else if (obj is ICollection)
         {
             instance.DecodeList(type, obj);
         }
         else
         {
             try
             {
                 instance.DecodeObject(type, obj);
             }
             catch (Exception e)
             {
                 throw new DecodeException($"{nameof(FromNsonOverwrite)} only support Dictionary, List and custom objects. Use {nameof(FromNson)} for other types", e);
             }
         }
     }
 }
Esempio n. 3
0
 /// <summary>
 /// decods <paramref name="nson"/> into a strongly typed object
 /// </summary>
 /// <param name="nson"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static T FromNson <T>(string nson, NsonSettings settings = null)
 {
     System.Diagnostics.Debug.Assert(nson != null);
     return(NsonDecoder.FromNson <T>(nson, settings));
 }
Esempio n. 4
0
 /// <summary>
 /// overwrites any data on <paramref name="item"/> with the data found in the nson string
 /// </summary>
 /// <param name="nson">Nson.</param>
 /// <param name="item">Item.</param>
 public static void FromNsonOverwrite(string nson, object item)
 {
     System.Diagnostics.Debug.Assert(nson != null);
     NsonDecoder.FromNsonOverwrite(nson, item);
 }
Esempio n. 5
0
 /// <summary>
 /// decodes <paramref name="nsonString"/> into an object of type <paramref name="type"/>
 /// </summary>
 /// <returns>The nson.</returns>
 /// <param name="nsonString">Nson string.</param>
 /// <param name="type">Type.</param>
 /// <param name="settings">Settings.</param>
 public static object FromNson(string nsonString, Type type, NsonSettings settings = null)
 {
     using (NsonDecoder instance = new NsonDecoder(nsonString, settings)) {
         return(instance.DecodeValue(instance.GetNextToken(), type));
     }
 }