public void WriteJsonException() { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); using (JsonWriter writer = new JsonTextWriter(sw)) { DateTimeJsonConverter converter = new DateTimeJsonConverter(); converter.WriteJson(writer, "", null); } }
public void WriteJson() { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); using (JsonWriter writer = new JsonTextWriter(sw)) { DateTimeJsonConverter converter = new DateTimeJsonConverter(); converter.WriteJson(writer, DateTime.Today, null); Assert.IsNotNull(converter); } }
public void CanConvert() { string date = "\"20/10/2017\""; JsonReader reader = new JsonTextReader(new StringReader(date)); while (reader.Read()) { if (date.Substring(1, date.Length - 2).Equals(reader.Value)) { DateTimeJsonConverter converter = new DateTimeJsonConverter(); Assert.IsTrue(converter.CanConvert(date.GetType())); } } }
public static string Serialize(object obj, CultureInfo culture = null) { if (obj == null) { return(null); } var jsonSerializerSettings = new JsonSerializerSettings { Culture = culture ?? CultureInfo.CurrentUICulture }; var result = JsonConvert.SerializeObject(obj, jsonSerializerSettings.Formatting, DateTimeJsonConverter.Get()); if (obj is DateTime) { result = string.Format("new Date('{0}')", obj); } return(result); }
public void ReadJson() { string date = "\"20/10/2017\""; JsonReader reader = new JsonTextReader(new StringReader(date)); while (reader.Read()) { if (date.Substring(1, date.Length - 2).Equals(reader.Value)) { JsonSerializer serializer = new JsonSerializer(); DateTimeJsonConverter converter = new DateTimeJsonConverter(); object result = converter.ReadJson(reader, typeof(DateTime), new DateTime(2017, 10, 20), serializer); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(DateTime)); } } }
public override void ExecuteResult(ControllerContext context) { if (context == null) { throw new ArgumentNullException("context"); } // if (int.Parse(base.JsonRequestBehavior.ToString()) == 1 && string.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase)) if (base.JsonRequestBehavior == JsonRequestBehavior.DenyGet && string.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase)) { throw new InvalidOperationException("当前请求不允许Get方法"); } HttpResponseBase response = context.HttpContext.Response; if (!string.IsNullOrEmpty(base.ContentType)) { response.ContentType = base.ContentType; } else { response.ContentType = "application/json"; } if (base.ContentEncoding != null) { response.ContentEncoding = base.ContentEncoding; } if (base.Data != null) { DecimalJsonConverter decimalConverter = new DecimalJsonConverter(this._decimalPlaces); DoubleJsonConverter doubleConverter = new DoubleJsonConverter(this._decimalPlaces); DateTimeJsonConverter dateTimeConverter = new DateTimeJsonConverter(this._dateFmt); MySqlDateTimeJsonConverter mySqlDateTimeConverter = new MySqlDateTimeJsonConverter(this._dateFmt); string json = JsonConvert.SerializeObject(base.Data, new JsonConverter[] { dateTimeConverter, mySqlDateTimeConverter, decimalConverter, doubleConverter }); response.Write(json); } }