我試圖將list<T>
轉換爲JSON數據,然後綁定到Jqgrid。將日期時間轉換爲JSON數據的難度
問題是列表集合包含一列爲DateTime。
當我看到生成的JSON響應時,日期時間沒有正確序列化。它來這樣的:
/Date(1267408935000)/
如何將列表集合轉換爲JSON數據,當它包含日期時間列正確。
請幫助..
我試圖將list<T>
轉換爲JSON數據,然後綁定到Jqgrid。將日期時間轉換爲JSON數據的難度
問題是列表集合包含一列爲DateTime。
當我看到生成的JSON響應時,日期時間沒有正確序列化。它來這樣的:
/Date(1267408935000)/
如何將列表集合轉換爲JSON數據,當它包含日期時間列正確。
請幫助..
如果您在使用colModel
爲formatter: "date"
相應的列定義的jqGrid然後會自動做出相應的轉換。這個問題可能只有當你使用一些非常舊的jqGrid版本(參見documentation,它描述了相應的支持是從jqGrid 3.8.2開始引入的)。
@ Oleg.I嘗試將格式化程序:「數據」。但是,日期時間仍未正確顯示。 –
@Avinash:對不起,輸入錯誤。應該使用[formatter:「date」](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter#predefined_format_types)而不是'formatter:「data」'。我修復了我答案的文字。 – Oleg
@ Oleg..No問題..現在工作.. :) –
當你說這是「不正常的序列化」 - 這看起來不錯給我。這是JSON日期的一種格式,來自Javascript Date
構造函數以「Unix時代以來的毫秒數」作爲參數。因此,您給出的值是2010年3月1日02:02:15 UTC。
我倒是希望的反序列化的Javascript這個數據是絕對沒問題 - 但當然這不是一定的情況......如果它確實造成問題對你來說,閱讀Scott Hanselman's blog post about JSON date/time formats - 尤其是它解釋瞭如何將JSON格式化器換成Json.NET,默認情況下使用ISO-8601格式。
創建類字符串屬性而不是日期時間。
public class MyJsonModel
{
public string DateTimeString { get;set; }
}
var model = new MyJsonModel();
model.DateTimeString = DateTime.Now.ToString("MM-dd-yyyy"); //Any format you like
你想如何格式化他的json日期? –
您使用的是哪個版本的jqGrid?如果使用'formatter:「data」',那麼jqGrid在許多最新版本中將自動進行相應的轉換。 – Oleg
@ Oleg.i使用最新版本的JqGrid。 –