/// <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)); }
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(); }
public deserializer(JSONParameters param) { param.FixValues(); _params = param.MakeCopy(); }