/// <summary>
        /// 将json字符串反序列化成对象,json中须包含__type信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static object DeserializeObject(string input)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer(new SimpleTypeResolver());

            serializer.MaxJsonLength = JSONSerializerFactory.GetMaxJsonLength();
            JSONSerializerFactory.RegisterConverters(serializer);

            return(serializer.DeserializeObject(input));
        }
        /// <summary>
        /// 序列化,结果中包含__type信息
        /// </summary>
        /// <param name="input"></param>
        /// <param name="addPrimitiveConverters">是否增加原始类型的转换器</param>
        /// <returns></returns>
        public static string SerializeWithType(object input, bool addPrimitiveConverters = false)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer(new SimpleTypeResolver());

            serializer.MaxJsonLength = JSONSerializerFactory.GetMaxJsonLength();
            JSONSerializerFactory.RegisterConverters(serializer);

            if (addPrimitiveConverters)
            {
                serializer.RegisterConverters(InternalDateTimeConverter.Instances);
            }

            return(serializer.Serialize(input));
        }