JSInterop.Json.Deserialize 正在从 DateTime 对象中丢失毫秒数

JSInterop.Json.Deserialize is losing milliseconds from DateTime objects

在我的 Blazor 0.9.0 项目中,我有一个很大的 json 字符串,用于包含日期时间 属性 的对象列表,包括毫秒。这通过 Ajax 传递到我的 .cshtml 文件,我在字符串上调用 Microsoft.JSInterop.Json.Deserialize。这很好地反序列化,除了 DateTime 对象丢失了它们的毫秒数。对于 JsonConvert,这可以通过使用 JsonSerializerSettings DateParseHandling 来纠正。我们如何在 Blazor 中执行此操作?

var json = "{\"timestamp\":\"2019-03-01T12:22:26.102Z\"}";

我希望它被反序列化为 01/03/2019 12:22:26:102 但实际结果是 01/03/2019 12:22:26

Blazor 使用 SimpleJson,而不是 NewtonSoft。这也会影响 Http.GetJsonAsync<T>.

从 API(randomuser.me 就是一个例子)返回的一些看起来很正常的 Json 让我感到很沮丧。

我刚刚添加了 NewtonSoft 包,并使用 HttpClient 将结果下载为字符串。

不幸的是,解决方案必须创建 Date 字段的字符串表示形式以在反序列化后保持毫秒数。如果出于某种原因在 Blazor 中实现,NewtonSoft 12.01 和 JSInterop 目前都不会保持毫秒数。