json - 从 Newtonsoft 的 JSON 序列化器解析 JSON 日期时间

标签 json datetime parsing json.net

我已经使用 Newtonsoft 的 JSON 序列化器序列化了一个对象,并且 DateTime 已经通过:

/Date(1237588418563+0000)/

当我对其进行 $.evalJSON() 时,它是一个对象,但我在其上找不到任何正常的 Date 方法,例如 toUTCString。

任何想法我可以用这个做什么?

最佳答案

使用 Json.NET 附带的其中一个 JsonConverter 来处理日期以获得更好的格式。 JavaScriptDateTimeConverter 会自动给你一个 JavaScript 日期。

public class LogEntry    
{    
  public string Details { get; set; }    
  public DateTime LogDate { get; set; }
}

[Test]
public void WriteJsonDates()
{    
  LogEntry entry = new LogEntry    
  {    
    LogDate = new DateTime(2009, 2, 15, 0, 0, 0, DateTimeKind.Utc),    
    Details = "Application started."    
  };    


  string defaultJson = JsonConvert.SerializeObject(entry);    
  // {"Details":"Application started.","LogDate":"\/Date(1234656000000)\/"}     

  string javascriptJson = JsonConvert.SerializeObject(entry, new JavaScriptDateTimeConverter());    
  // {"Details":"Application started.","LogDate":new Date(1234656000000)}

  string isoJson = JsonConvert.SerializeObject(entry, new IsoDateTimeConverter());    
  // {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}    
}

文档:Serializing Dates in JSON with Json.NET

关于json - 从 Newtonsoft 的 JSON 序列化器解析 JSON 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/668488/

相关文章:

python - 解析一行中的多个json对象

java - Joda Time 未得到预期结果

C++ STL : a good way to parse a sensor response

iphone - iPhone App 项目的维基百科页面解析器

json - 来自 MongoDB 的日期打印为 "date":"2011-05-12T13:51:33Z"

java - spring mvc ajax数据用Jackson截断

ruby-on-rails - 如何在 Rails 中不使用自定义格式的情况下显示带有 am/pm 的日期时间

javascript - 将毫秒转换为日期 (jQuery/JavaScript)

java - Jackson 解析器不会因明显错误的 json 而因 JsonParseException 失败

javascript - 使用 jQuery.map 后使用 JSON.stringify 的问题