我需要每个DateTime对象都采用" yyyy-MM-dd"的基本格式。
当我使用JSON.Net执行此操作时,通过将以下内容添加到WebApiConfig.cs中它可以正常工作:
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" });
但是,我已经重新设计了控制器以返回IHttpActionResult
和return Json(objectToSerialize)
。现在日期格式是错误的,因为我认为这是因为现在使用的是JavaScriptConverter
。如果我错了,请告诉我。
如何将序列化对象中的每个DateTime转换为我需要的格式?
默认情况下,它们现在显示为" 1927-01-29T00:00:00" ......我需要" 1927-01-29"。
我看到一些看似完全矫枉过正的疯狂黑客(例如this one)。
有干净的方法吗?
答案 0 :(得分:3)
嗯,你仍然可以使用IHttpActionResult
,但你返回的内容不正确。在你的情况下,我相信你可以通过以下方式解决它:
return Ok(objectToSerialize);
默认情况下,它会在WebApi中保留JSON.NET,您应该保留日期格式