4
JavaScriptSerializerによって JavaScriptSerializerによってシリアル化された日付の値を逆シリアル化できないこの問題の原因を確認するにはどうすればよいですか?受信アプリケーションにおいてJavaScriptSerializer.DeserializeはJavaScriptSerializer.Serializeによってシリアル化された日付を受け付けません
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(model);
// generates this json
{'Guid':'guid','OrderNumber':'1','OrderDate':'\/Date(1299456000000)\/',
'OrderStatus':'Completed','DiscountRate':0.0000}
:呼び出し側アプリケーションにおいて
string json = @"{'Guid':'guid','OrderNumber':'1','OrderDate':'\/Date(1299456000000)\/',
'OrderStatus':'Completed','DiscountRate':0.0000}";
var serializer = new JavaScriptSerializer();
var model = serializer.Deserialize(json);
String was not recognized as a valid DateTime
は例外をスロー。
JavaScriptSerializerで日付をシリアライズすると、JavaScriptSerializerでデシリアライズできないのはなぜですか?
この関連する質問はありましたか。http://stackoverflow.com/questions/1224793/javascript-serialization-of-datetime-in-asp-net-is-not-giving-a-javascript-date? –
私はそれ以外の多くの質問を読んでいますが、.NETが.NETでシリアル化されたものを逆シリアル化できない理由はまだ分かりません。そして私は私が何をする必要があるかまだ分かりません。クライアントアプリケーションは私のものではないので、シリアル化の方法を変更するよう常に指示することはできません。 –
代わりに 'System.Runtime.Serialization.Json.DataContractJsonSerializer'を使ってみてください。私はそれを試しただけで、日付をシリアライズしてデシリアライズするのに問題はありませんでした。 – hawkke