Sau khi chơi với thư viện Json.NET, tôi tự hỏi tại sao bạn sẽ chọn sử dụng IsoDateTimeConverter qua JavascriptDateTimeConverter.
Tôi thấy điều này dễ sử dụng hơn với giao diện Ext JS mà tôi đang sử dụng khi sắp xếp ngày tháng từ Bộ điều khiển MVC.
JsonNetResult jsonNetResult = new JsonNetResult();
jsonNetResult.Formatting = Formatting.Indented;
jsonNetResult.SerializerSettings.Converters.Add(new JavaScriptDateTimeConverter());
jsonNetResult.Data = myObject;
Tôi nhận được dữ liệu này trở lại vào Ext.data.JsonStore, có thể lấy giá trị trả về làm ngày mà không cần phải chỉ định định dạng ngày để phân tích cú pháp.
store:new Ext.data.JsonStore({
url: pathContext + '/Subject.mvc/Notices',
baseParams: { subjectId: this.subjectId },
fields: [
{name: 'Title'},
{name: 'DateCreated', type: 'date' }
]
}),
Các JSON trở lại trông như thế này:
[{"Title":"Some title","DateCreated":new Date(1259175818323)}]
Không có lý do nào để chuyển đổi sang định dạng ISO 8601 và trở lại nếu bạn không phải.
Nguồn
2009-11-25 19:13:37
Điều này cung cấp một số thông tin chi tiết, nhưng giao dịch w/jQuery với dịch vụ web ASP.NET thay vì bộ điều khiển MVC trả về JsonResult qua Json(). Tôi quan tâm đến jQuery để ASP.NET MVC w/o MSFT ajax. – ChrisP
Vấn đề chủ yếu là các đối tượng phức tạp có thuộc tính ngày tháng chứ không phải là một giá trị ngày tháng. – ChrisP
Định dạng JSON giống hệt với ví dụ bạn mô tả. Ngày Tài sản hoặc Giá trị Ngày Đơn không tạo sự khác biệt. – Alex