【发布时间】:2010-11-02 10:17:08
【问题描述】:
我尝试使用 Json.net 解析简单的 JSON
string inputJson = @"
{
""modificationTime"" : ""\/Date(1224043200000)\/""
}";
并且定义了属性
[JsonProperty("modificationTime")]
[JsonConverter(typeof(JavaScriptDateTimeConverter))]
public DateTime ModificationTime { get; set; }
但是 DeserializeObject 抛出异常并显示以下消息: "解析日期时出现意外的令牌或值。令牌:日期,值:10/15/2008 04:00:00"
好吧,据我所知,它实际上已经解析了日期,不是吗? 这个异常是从 JavaScriptDateTimeConverter.cs 的第 68 行抛出的:
68 if (reader.TokenType != JsonToken.StartConstructor || string.Compare(reader.Value.ToString(), "Date", StringComparison.Ordinal) != 0)
69 throw new Exception("Unexpected token or value when parsing date. Token: {0}, Value: {1}".FormatWith(CultureInfo.InvariantCulture, reader.TokenType, reader.Value));
70
71 reader.Read();
在这个地方 reader.TokenType 是 Date 并且 reader.Value.ToString() 是 10/15/2008 04:00:00。 有什么想法吗?
【问题讨论】: