我怎样才能找到这个问题的根源,其中一个日期值由 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 反序列化?
最佳答案
如果模型是模型类型,则尝试在反序列化调用中指定类型。
string json = @"{'Guid':'guid','OrderNumber':'1','OrderDate':'\/Date(1299456000000)\/',
'OrderStatus':'Completed','DiscountRate':0.0000}";
var serializer = new JavaScriptSerializer();
var model = serializer.Deserialize<Model>(json);
我能够通过这种方式无误地序列化和反序列化日期。
关于c# - JavaScriptSerializer.Deserialize 不接受由 JavaScriptSerializer.Serialize 序列化的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555329/