JavaScriptSerializer.Deserialize不接受JavaScriptSerializer.Serialize序列化的日期

JK.*_*JK. 5 c# serialization json javascriptserializer deserialization

如何找到此问题的来源,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}
Run Code Online (Sandbox Code Playgroud)

在接收申请中:

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

引发String was not recognized as a valid DateTime异常.

如果JavaScriptSerializer序列化日期,为什么JavaScriptSerializer不能反序列化?

Nic*_*byn 2

如果模型的类型为模型,则尝试在调用反序列化时指定类型。

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

我可以通过这种方式序列化和反序列化日期而不会出现错误。