无法将 JSON 数据解析为 .NET 日期时间



这很简单。我有一个字符串

string s = "/Date(1474408920000)/"

我想把它转换成一个日期:

DateTime date = JsonConvert.DeserializeObject<DateTime>(s);

但我得到了错误:

分析注释时出错。应为:*,得到D.路径",第1行,位置1。

这里发生了什么

谢谢你的帮助!

您的json字符串无效,但可以通过用" 将其包围来轻松修复

string s = @"""/Date(1474408920000)/""";

现在DateTime date = JsonConvert.DeserializeObject<DateTime>(s);将在上工作

        var LogDate = new DateTime(2016, 9, 20, 22, 2, 0, DateTimeKind.Utc);
        string JsonDate = JsonConvert.SerializeObject(LogDate, new JsonSerializerSettings {
            DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
        });
        Console.WriteLine(JsonDate);
        Console.ReadLine();

此代码的输出为您提供了正确的JSON日期格式:

"/Date(1474408920000)/"

所以你的字符串应该是这样的:

string s = ""\/Date(1474408920000)\/"";

尝试使用以下代码将DateTime对象序列化为JSON。

        var dateTime = DateTime.Now;
        var jsonDate = Newtonsoft.Json.JsonConvert.SerializeObject(dateTime, 
                            new Newtonsoft.Json.JsonSerializerSettings() { 
                                DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat, 
                                DateParseHandling = Newtonsoft.Json.DateParseHandling.DateTime });

CCD_ 3将保持该值CCD_
现在使用下面的代码反序列化json日期字符串。

var dateObj = Newtonsoft.Json.JsonConvert.DeserializeObject<DateTime>(dateString, 
                            new Newtonsoft.Json.JsonSerializerSettings() { 
                                DateParseHandling = Newtonsoft.Json.DateParseHandling.DateTime, 
                                DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat });

相关内容

  • 没有找到相关文章

最新更新