/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { long ticks; if (value is DateTime) { DateTime dateTime = (DateTime)value; DateTime utcDateTime = dateTime.ToUniversalTime(); ticks = DateTimeUtils.ConvertDateTimeToJavaScriptTicks(utcDateTime); } #if !NET20 else if (value is DateTimeOffset) { DateTimeOffset dateTimeOffset = (DateTimeOffset)value; DateTimeOffset utcDateTimeOffset = dateTimeOffset.ToUniversalTime(); ticks = DateTimeUtils.ConvertDateTimeToJavaScriptTicks(utcDateTimeOffset.UtcDateTime); } #endif else { throw new JsonSerializationException("Expected date object value."); } writer.WriteStartConstructor("Date"); writer.WriteValue(ticks); writer.WriteEndConstructor(); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { String isoDateTimeString; if (value is DateTime) { DateTime dateTime = (DateTime)value; if ((DateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal || (DateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal) dateTime = dateTime.ToUniversalTime(); isoDateTimeString = dateTime.ToString(DefaultDateTimeFormat); } #if !PocketPC && !NET20 else if (value is DateTimeOffset) { DateTimeOffset dateTimeOffset = (DateTimeOffset)value; if ((DateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal || (DateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal) dateTimeOffset = dateTimeOffset.ToUniversalTime(); isoDateTimeString = dateTimeOffset.ToString(DefaultDateTimeFormat); } #endif else { throw new Exception("Expected date object value."); } writer.WriteStartConstructor("Date"); writer.WriteValue(isoDateTimeString); writer.WriteEndConstructor(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (!(value is DateTime)) throw new JsonSerializationException("Expected date object value."); long num = JsonConvert.ConvertDateTimeToJavaScriptTicks(((DateTime) value).ToUniversalTime()); writer.WriteStartConstructor("Date"); writer.WriteValue(num); writer.WriteEndConstructor(); }
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer) { if (value is DateTime) { DateTime date = (DateTime)value; if (date.Equals(DateTime.MinValue)) { writer.WriteRawValue("null"); } else { string template = (date.TimeOfDay == new TimeSpan(0, 0, 0)) ? "{0},{1},{2}" : "{0},{1},{2},{3},{4},{5},{6}"; writer.WriteStartConstructor("Date"); writer.WriteRawValue( string.Format(template, date.Year, date.Month - 1, date.Day, date.Hour, date.Minute, date.Second, date.Millisecond)); writer.WriteEndConstructor(); } } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value is DateTime) { DateTime date = (DateTime)value; if (date.Equals(DateTime.MinValue)) { writer.WriteRawValue("null"); } else { string template = (date.TimeOfDay == new TimeSpan(0, 0, 0)) ? "{0},{1},{2}" : "{0},{1},{2},{3},{4},{5}"; writer.WriteStartConstructor("Date"); writer.WriteRawValue( string.Format(template, date.Year, date.Month - 1, date.Day, date.Hour, date.Minute, date.Second)); writer.WriteEndConstructor(); } } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { string v; if (value != null && !string.IsNullOrEmpty((v = value.ToString( )))) { if (System.Text.RegularExpressions.Regex.IsMatch(v, @"\[*\]")) { writer.WriteRawValue(v); } else if (System.Text.RegularExpressions.Regex.IsMatch(v, @"\{*\}")) { writer.WriteRawValue(v); } else { writer.WriteStartConstructor(value.ToString( )); writer.WriteEndConstructor( ); } } else writer.WriteNull( ); }
public override void WriteTo(JsonWriter writer, params JsonConverter[] converters) { writer.WriteStartConstructor(this._name); foreach (JToken jtoken in this.Children()) jtoken.WriteTo(writer, converters); writer.WriteEndConstructor(); }