5

JavaScriptSerializer によってシリアル化された日付値が JavaScriptSerializer によって逆シリアル化できないというこの問題の原因を特定するにはどうすればよいですか?

呼び出し元のアプリケーションで:

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 によって逆シリアル化できないのはなぜですか?

4

1 に答える 1

2

モデルが Model 型の場合は、Deserialize の呼び出しで型を指定してみてください。

string json = @"{'Guid':'guid','OrderNumber':'1','OrderDate':'\/Date(1299456000000)\/',
             'OrderStatus':'Completed','DiscountRate':0.0000}";
var serializer = new JavaScriptSerializer();
var model = serializer.Deserialize<Model>(json);

このようにして、エラーなしで日付をシリアル化および逆シリアル化できます。

于 2011-12-21T23:43:13.957 に答える