Json 日期被序列化为错误的格式
Json date being serialized to wrong format
我有一个 Web Api ASP.net CORE 1 MVC,c#。我通过我构建的客户端应用程序调用网络 api,该应用程序是使用 Angular(版本 1)编写的。
我有一个 POST 方法,它有一个日期为 属性 的模型。
在我的开发环境中,当我 post 使用该方法时,日期正常,模型有效并且日期格式符合我的预期“dd/MM/yyyy”。但是,当我将代码移动到我的测试服务器时,日期通过“MM/dd/yyyy”出现。事实上,在测试服务器上,日期是这样的代码“0001-01-01T00:00:00”。
我可以从记录的网络流量中看出客户端应用程序发送的日期是正确的。然而,当它到达方法时,它已被 .net 序列化为错误的格式,并且模型状态无效。
以前有人遇到过这个问题吗?它太新了,目前很难获得有关 CORE 1 的良好文档。
我已经在我的 startup.cs 网站上尝试过此代码 api:
services.AddMvc().AddJsonOptions(opt =>
{
opt.SerializerSettings.DateFormatString = "dd/MM/yyyy";
});
但这于事无补。
通常为了避免跨本地化日期序列化的混淆,建议以明确的格式进行序列化。在这种情况下,最好将日期格式化为国际化的 ISO 格式:
"YYYY-MM-DD",
我有一个 Web Api ASP.net CORE 1 MVC,c#。我通过我构建的客户端应用程序调用网络 api,该应用程序是使用 Angular(版本 1)编写的。
我有一个 POST 方法,它有一个日期为 属性 的模型。
在我的开发环境中,当我 post 使用该方法时,日期正常,模型有效并且日期格式符合我的预期“dd/MM/yyyy”。但是,当我将代码移动到我的测试服务器时,日期通过“MM/dd/yyyy”出现。事实上,在测试服务器上,日期是这样的代码“0001-01-01T00:00:00”。
我可以从记录的网络流量中看出客户端应用程序发送的日期是正确的。然而,当它到达方法时,它已被 .net 序列化为错误的格式,并且模型状态无效。
以前有人遇到过这个问题吗?它太新了,目前很难获得有关 CORE 1 的良好文档。
我已经在我的 startup.cs 网站上尝试过此代码 api:
services.AddMvc().AddJsonOptions(opt =>
{
opt.SerializerSettings.DateFormatString = "dd/MM/yyyy";
});
但这于事无补。
通常为了避免跨本地化日期序列化的混淆,建议以明确的格式进行序列化。在这种情况下,最好将日期格式化为国际化的 ISO 格式:
"YYYY-MM-DD",