gpt4 book ai didi

c# - 无法使用 JavaScriptDateTimeConverter 解析数据

转载 作者:太空狗 更新时间:2023-10-29 21:30:48 26 4
gpt4 key购买 nike

我尝试使用 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。有什么想法吗?

最佳答案

Json.NET 使用以下格式反序列化日期:

"\/Date(1224043200000)\/"

默认。 JavaScriptDateTimeConverter 适用于以下格式的日期:

new Date(1234567890)

关于c# - 无法使用 JavaScriptDateTimeConverter 解析数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com