json序列化時datetime的處理方法


.net自帶的json序列化器,JavaScriptSerializer和DataContractJsonSerializer,都是序列化成微軟的datetime json格式,e.g. "\/Date(1198908717056)\/"

如果你將json序列化器換成json.net,可能會碰到序列化datetime格式的問題。

json.net的行為是這樣的。

<=4.5,也是序列化成微軟的datetime json格式,e.g. "\/Date(1198908717056+0800)\/".

>4.5,序列化成ISO標准時間格式,"2016-05-05T14:59:30.4617225+08:00"

如果要使json.net(>4.5)默認也輸出成微軟的datetime json格式的解決方案如下:

var settings = new JsonSerializerSettings();

settings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;//兼容<=4.5版本,默認序列化成微軟的datetime json格式,e.g. "\/Date(1198908717056+0800)\/",如果要輸出ISO標准時間,可以通過dateTimeFormat進行設置。

代碼如下圖。

clipboard


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM