微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从System.Text.Json

如何解决从System.Text.Json

我在ASP.NET Core项目和包含两个Instant属性的模型中使用Noda Time。

public class Template
{
    //... redacted bits

    public Instant CreateDt { get; set; }
    public Instant LastmodDt { get; set; }
}

数据库中的信息符合我的预期。但是,通过API 获取值将返回空对象属性,如下所示:

{
    //... redacted bits

    "createDt": {},"lastmodDt": {}
}

我该如何找回与我输入日期相同的日期,或者至少可以获取一些数据?

FWIW我正在使用ASP.NET Core 3.1,认使用System.Text.Json(不是JSON.NET)。

编辑删除了有关Postgresql的虚假注释,这些注释原来与该问题无关。

解决方法

通过安装NodaTime.Serialization.SystemTextJson软件包并将其添加到我的Startup.cs中,我能够通过注释中提到的帮助解决此问题:

services.AddControllers()
    // the added bit:
    .AddJsonOptions(opt => opt.JsonSerializerOptions.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb));

我不得不对github上的其他用途进行反向工程,因为我在看NodaTime的用户指南的错误版本,例如doofus。干杯。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。