Khi tôi đăng một đối tượng json với thuộc tính ngày tháng vào một ApiController nó sẽ không deserialize vào một ngày.Đăng ngày giờ vào một ApiController trong ASP MVC 4 (Beta)
máy chủ trang web mã:
public class MegaTestController : ApiController
{
// POST /megatest
public void Post(ttt value)
{
string sdf = "!sad";
}
}
public class ttt
{
public DateTime Date { get; set; }
public string Name { get; set; }
}
Sau đó, tôi làm một yêu cầu POST với cáy
POST http://localhost:62990/MegaTest HTTP/1.1
User-Agent: Fiddler
Host: localhost : 62990
Content-Type: text/json
Content-Length: 54
{ "Ngày": "/ ngày (1239018869048) /", "Tên": "Dude" }
Nhưng đối tượng sắp tới trong chỉ có các thiết lập Name
tài sản, Date
tài sản là {01.01.0001 00:00:00}
tôi có thiếu bất kỳ tiêu đề hoặc thiết lập dự án?
Sửa: Các yêu cầu được thực sự đến từ một HttpClient
. Có thể định dạng ngày trước khi gửi yêu cầu với HttpClient
không?
public Task<T> Create<T>(T item)
{
var service = new HttpClient();
service.BaseAddress = new Uri("http://localhost:62990");
var method = typeof(T).Name + "s"; // in this case it will be ttts
var req = new HttpRequestMessage<T>(item);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("text/json");
return service.PostAsync(method, req.Content).ContinueWith((reslutTask) =>
{
return reslutTask.Result.Content.ReadAsAsync<T>();
}).Unwrap();
}
var data = new ttt { Name = "Dude", Date = DateTime.Now };
Create(data);
Sửa: Đây là một lỗi được biết đến với 4 Beta ASP MVC và phiên bản cuối cùng của ASP MVC 4 sẽ sử dụng Json.net như một serializer json cho đến khi sau đó bạn có thể sử dụng serializer XML mặc định hoặc tắt bộ nối tiếp Json mặc định cho Json.net. Bạn có thể tìm thêm thông tin trên hanselman blog
http://stackoverflow.com/questions/206384/how-to-format-a-json-date – tugberk