c# - JavaScriptSerializer.Deserialize 不接受由 JavaScriptSerializer.Serialize 序列化的日期

标签 c# json serialization deserialization javascriptserializer

我怎样才能找到这个问题的根源,其中一个日期值由 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/

相关文章:

c# - linq to XML 作为 gridview 数据源

java - 使用 Jackson 解析 JSON 对象的 JSON 数组会引发 JSON 映射异常,如何修复?

javascript - DataTables Symfony 中的无效 JSON 响应

java - 将可序列化对象传递给 Activity 时的转换无效

java - 在 Java 中反序列化数据

javascript - MMS 是否支持发送 HTML 内容?

c# - 泛型/模板中的长(可读)名称

json:不支持的类型:func()

c# - 将C#对象序列化为json

C# 在特定内存地址创建对象