날짜와 관련하여 특히 ASP.NET 웹 API에서 작동하도록 knockout을 얻으려고 싸우고 있습니다. 나는 this question과 다른 비슷한 것들을 보았지만 주어진 해결책은 마음에 들지 않았습니다.녹아웃 JS 및 ASP.NET 웹 API 날짜
일부 날짜가있는 개체가 있습니다. 나는 그것이로서 직렬화 된 웹 API 컨트롤러에서 반환하는 경우 다음과
{
"AdjustmentId": "6b8bc63f-de50-4feb-b0e2-a10800cbc3c3",
"PortfolioCode": 2461,
"Description": "",
"StartDate": "2012-11-12T22:00:00Z",
"EndDate": "2012-11-12T22:00:00Z"
}
문제 : 나는 ko.toJSON를 사용하여 녹아웃에서 동일한 뷰 모델을 반환 할 때
{
"AdjustmentId": "6b8bc63f-de50-4feb-b0e2-a10800cbc3c3",
"PortfolioCode": 2461,
"Description": "",
"StartDate": "2012-11-13T00:00:00+02:00",
"EndDate": "2012-11-13T00:00:00+02:00"
}
, 나는 다음과 같은 수 날짜가 이제 컨트롤러에서 역 직렬화되지 않는다는 것입니다. 개체가 있지만 DateTime.Min 날짜가 설정됩니다. 12 월 13 일에서 10시 자정까지 날짜가 변경된 것을 볼 수 있습니다. 이는 시간대가 변경 되었기 때문입니다.
아무도 도와 줄 수 있습니까? 현재 해결 방법으로 날짜를 toISOString()을 사용하여 변환하고 있지만 자동으로 직렬화가 발생하도록하고 싶습니다.
정말에 어떤 도움을 감사하겠습니다이
문제의 원인을 정확히 설명해 주시겠습니까? 녹아웃을 사용하여 직렬화하고 WebAPI를 사용하여 직렬화 해제 하시겠습니까? 컨트롤러는 어떻게 생겼습니까? –
이 기사는 JSON이 기본적으로 ISO8601을 사용하도록 기본 serializaer를 대체하는 좋은 방법을 제공합니다. http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx – Tyrsius
@Tyrsius Json.NET은 WebAPI 버전에서 기본적으로 ISO8601을 사용합니다 . 이것은 Json.NET에서 6 개월 전 만들어진 변경입니다. –