Пример #1
0
        /// <summary>
        /// Create a json representation for an object with parameter override on this call
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static string ToJSON(object obj, JSONParameters param)
        {
            param.FixValues();
            param = param.MakeCopy();
            Type t = null;

            if (obj == null)
            {
                return("null");
            }

            if (obj.GetType().IsGenericType)
            {
                t = Reflection.Instance.GetGenericTypeDefinition(obj.GetType());
            }
            if (typeof(IDictionary).IsAssignableFrom(t) || typeof(List <>).IsAssignableFrom(t))
            {
                param.UsingGlobalTypes = false;
            }

            // FEATURE : enable extensions when you can deserialize anon types
            if (param.EnableAnonymousTypes)
            {
                param.UseExtensions = false; param.UsingGlobalTypes = false;
            }
            return(new JSONSerializer(param).ConvertToJSON(obj));
        }
Пример #2
0
 public deserializer(JSONParameters param)
 {
     if (param.OverrideObjectHashCodeChecking)
     {
         _circobj = new Dictionary <object, int>(10, ReferenceEqualityComparer.Default);
     }
     else
     {
         _circobj = new Dictionary <object, int>();
     }
     param.FixValues();
     _params = param.MakeCopy();
 }
Пример #3
0
 public deserializer(JSONParameters param)
 {
     param.FixValues();
     _params = param.MakeCopy();
 }