Dates without time in ASP.NET Web API's JSON output
Is there a simple way to configure JSON.NET so that some DateTime
fields will be formatted without time and other DateTime
fields will still be formatted with time?
Example:
{ firstName: 'John', lastName : 'Doe', birthday: '1965-09-23' }
If you need this to only affect a particular field, create a converter type first:
public class OnlyDateConverter : IsoDateTimeConverter
{
public OnlyDateConverter()
{
DateTimeFormat = "yyyy-MM-dd";
}
}
and then add this attribute to whatever fields/properties you want this for:
[JsonConverter(typeof(OnlyDateConverter))]
Try adding this line to configure your Web API:
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" });