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

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

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 回答