JavaScriptSerializer.反序列化不接受由JavaScriptSerializer.Serialize序

本文关键字:JavaScriptSerializer Serialize 不接受 反序列化 | 更新日期: 2023-09-27 18:18:18

如何找到这个问题的根源,其中由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反序列化?

JavaScriptSerializer.反序列化不接受由JavaScriptSerializer.Serialize序

如果model是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);

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

相关文章:
  • 没有找到相关文章