/// <summary>
        /// Сериализует объект в поток.
        /// </summary>
        /// <param name="stream">Поток.</param>
        /// <param name="obj">Объект.</param>
        /// <param name="serializerType">Тип сериализации.</param>
        public static void Serialize(Stream stream, object obj, JsonSerializerType serializerType = JsonSerializerType.DataContractJsonSerializer)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }

            if (!stream.CanWrite)
            {
                throw new Exception(string.Format("Невозможно сериализовать объект в поток, потому что запись в поток запрещена."));
            }

            string json = JsonDataSerializer.SerializeJson(obj, serializerType);

            byte[] data = Encoding.UTF8.GetBytes(json);
            stream.Write(data, 0, data.Length);
        }
        /// <summary>
        /// Сериализует объект в строку в формате Json.
        /// </summary>
        /// <param name="obj">Объект.</param>
        /// <param name="serializerType">Тип сериализации.</param>
        /// <returns></returns>
        public static string SerializeJson(object obj, JsonSerializerType serializerType = JsonSerializerType.DataContractJsonSerializer)
        {
            if (obj == null)
            {
                throw new Exception("obj is null");
            }

            string result = null;

            if (serializerType == JsonSerializerType.DataContractJsonSerializer)
            {
                result = JsonDataSerializer.SerializeJson(obj);
            }
            else if (serializerType == JsonSerializerType.JavaScriptSerializer)
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                serializer.MaxJsonLength = int.MaxValue;
                result = serializer.Serialize(obj);
            }

            return(result);
        }