我正在開發一個API以使用ASP.NET Web API公開一些數據。使用Json.Net序列化時指定自定義日期時間格式
在其中一個API中,客戶希望我們以yyyy-MM-dd格式公開日期。我不想更改全局設置(例如GlobalConfiguration.Configuration.Formatters.JsonFormatter
),因爲它對此客戶端非常具體。而且我在一個針對多個客戶的解決方案中進行開發。
一,我能想到的解決方案是創建一個自定義的Json轉換器,然後把那財產,我需要做的自定義格式
例如
class ReturnObjectA
{
[JsonConverter(typeof(CustomDateTimeConverter))]
public DateTime ReturnDate { get;set;}
}
只是想知道是否有一些其他簡單的方法來做到這一點。
對於什麼是值得注意的是,API是用於計算機可讀性的,而不是用戶可讀性的,所以最好堅持一個指定的日期格式,例如[ISO 8601](http://xkcd.com/1179/)。如果客戶端直接向用戶顯示API結果,或者爲API編寫他們自己的日期解析代碼,那麼他們做錯了。格式化顯示日期應留給最頂層的UI層。 – MCattle