gpt4 book ai didi

c# - json.net 反序列化 IsoFormat 中的日期字符串

转载 作者:太空狗 更新时间:2023-10-30 00:51:29 25 4
gpt4 key购买 nike

我有一个失败的测试用例。有人知道怎么解决吗?

    [TestMethod]
public void Should_deserialize_utc_datestring_to_utc_date_with_AlwaysUseUtc_true()
{
string dateString = "2014-06-02T21:00:00.0000000Z";
DateTime dateRaw = new DateTime(2014, 6, 2, 21, 0, 0, 0, DateTimeKind.Utc);

JsonSerializerSettings settings = new JsonSerializerSettings();
settings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
settings.DateFormatHandling = DateFormatHandling.IsoDateFormat;
DateTime dateSerialized = JsonConvert.DeserializeObject<DateTime>(dateString, settings);
dateSerialized.Should().Be(dateRaw);
}

我得到的错误(使用 ReSharper 作为我的 TestRunner)是:

测试方法 When_json_serializing_dates.Should_deserialize_utc_datestring_to_utc_date_with_AlwaysUseUtc_true 抛出异常:Newtonsoft.Json.JsonReaderException:解析数字时遇到意外字符:T.Path '',第 1 行,位置 10。

最佳答案

问题是您缺少字符串周围的嵌入式引号(请记住,它需要 JSON)。如下更改您的 dateString 将解决您的问题:

string dateString = "\"2014-06-02T21:00:00.0000000Z\"";

关于c# - json.net 反序列化 IsoFormat 中的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161428/

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