2013-08-28 7 views
0

나는이 수업이 있습니다.NET 3.5 JavaScriptSerializer 및 DateTimeOffset으로 직렬화

private class SimpleClass 
{ 
    public DateTimeOffset Date; 
} 

를 내가 .NET 3.5 결과에 JavaScriptSerializer하여 직렬화 할 때 JSON 다음입니다 :

"{\"Date\":{\"DateTime\":\"\\/Date(1377674408500)\\/\",\"UtcDateTime\":\"\\/Date(1377674408500)\\/\",\"LocalDateTime\":\"\\/Date(1377674408500)\\/\",\"Date\":\"\\/Date(1377640800000)\\/\",\"Day\":28,\"DayOfWeek\":3,\"DayOfYear\":240,\"Hour\":9,\"Millisecond\":500,\"Minute\":20,\"Month\":8,\"Offset\":{\"Ticks\":72000000000,\"Days\":0,\"Hours\":2,\"Milliseconds\":0,\"Minutes\":0,\"Seconds\":0,\"TotalDays\":0.083333333333333329,\"TotalHours\":2,\"TotalMilliseconds\":7200000,\"TotalMinutes\":120,\"TotalSeconds\":7200},\"Second\":8,\"Ticks\":635132784085002695,\"UtcTicks\":635132712085002695,\"TimeOfDay\":{\"Ticks\":336085002695,\"Days\":0,\"Hours\":9,\"Milliseconds\":500,\"Minutes\":20,\"Seconds\":8,\"TotalDays\":0.38898727163773145,\"TotalHours\":9.3356945193055552,\"TotalMilliseconds\":33608500.2695,\"TotalMinutes\":560.14167115833334,\"TotalSeconds\":33608.5002695},\"Year\":2013}}" 

을 그리고있다 결과를 비 직렬화 할 수는 없습니다.

내가 .NET 4.0 결과와 동일한 기능을 수행 할

은 다음과 같습니다

"{\"Date\":\"\\/Date(1377675074146)\\/\"}" 

를 그리고이 결과를 역 직렬화 할 수 있습니다. 내가 .NET 3.5로 작성된 클라이언트 측이 있고 난 그냥 여기에 완료 할

.NET 4에 기록 된 서버 측에서 결과를 역 직렬화해야하기 때문에

것은이 나에게 큰 문제를 일으키는 것은 코드입니다 직렬화 및 비 직렬화 :

JavaScriptSerializer serializer = new JavaScriptSerializer(); 

DateTime dt = DateTime.Now; 
SimpleClass instance = new SimpleClass(); 
instance.Date = dt; 

string jsonStr = serializer.Serialize(instance); 

SimpleClass newInstance = serializer.Deserialize<SimpleClass>(jsonStr); 

어떤 아이디어 주셔서 감사합니다.

답변

0

큰 문제는 Date 값을 serialize하고 다시 역 직렬화 할 때 DateTimeOffset이 손실되고 Deserialized 값이 UTC 시간 인 경우입니다. 처음부터 시작해 보겠습니다. 어떤 종류의 serializer/deserializer를 사용하고 있습니까? .Net/Json.Net/LightJson/...