c# - 如何将 WCF 样式格式的日期字符串(即 "/Date(1342210377000)/")转换为 c# DateTime?

标签 c# json wcf datetime datacontractserializer

ajax 请求发送 WCF 格式的日期值?它是一个转换为字符串的 javascript 日期对象,WCF 可以使用 DataContractSerializer 反序列化。

"/Date(1342210377000)/"

客户端曾经将此数据发送到 WCF 服务,但现在发送到 asp.net mvc Controller 。有谁知道如何在不执行大量 string.replace 操作的情况下将该字符串反序列化为 c# DateTime?是否有我可以利用的现有 .NET 序列化程序?我查看了使用 DataContractSerializer,但它的 readobject 方法采用流或 xmlreader。我不知道如何将 modelbindercontext.valueprovider 值转换为序列化程序可以使用的流对象。如果有人知道我如何正确转换该字符串,我很乐意学习如何操作。感谢您提供任何提示、技巧、代码、链接等...

最佳答案

您可以使用 DataContractJsonSerializer 将其转换为 DateTime 值:

var str = "\"/Date(1342210377000)/\"";
var dcjs = new DataContractJsonSerializer(typeof(DateTime));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(str));
var dt = dcjs.ReadObject(ms);
Console.WriteLine(dt);

关于c# - 如何将 WCF 样式格式的日期字符串(即 "/Date(1342210377000)/")转换为 c# DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478210/

相关文章:

c# - 无法在 ONVIF 中实现事件订阅

mysql - 如何从 mysql 获取 DateTime 并将其设置为 json 格式以供 highcharts 使用

c# - IQueryable<> 序列化 - C#-VS2008-WCF

wcf - 如何在 ViewModel 中注入(inject) wcf 客户端依赖项并使其可测试?

WCF 客户端身份验证方案 'Basic' 。到一个java服务器

c# - 创建 Linq XML 文档时为 "Non white space characters cannot be added to content"

c# - 任务 .net4 和 Windows 服务停止

javascript - 在 D3.js hover 中过滤和匹配 json 数据

java - JSON 数据未显示,而是显示空白屏幕

c# - 使用 CURL 发送到 Azure 函数的 Newtonsoft 反序列化 JSON 时出现异常