目前,我正在尝试使用来序列化规范中JsonFormatters
的字符串。ISO 8601
在我的启动配置中格式化,但无法让它工作。
我的启动配置如下:
services.AddMvcCore(
(options) => {
options.SslPort = 44321;
options.Filters.Add(new RequireHttpsAttribute());
}
)
.AddJsonFormatters(jsonSerializerSettings => {
jsonSerializerSettings.DateParseHandling = DateParseHandling.None;
jsonSerializerSettings.DateFormatString = "yyyy-MM-ddTHH:mm:ss.fffZ";
})
.AddApiExplorer()
.AddJsonOptions(options => {
options.AllowInputFormatterExceptionMessages = false;
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
我还尝试了文档中提到的ServiceStackText,但这也不起作用。
NodaSerializerDefinitions.LocalTimeSerializer.ConfigureSerializer();
DateTimeZoneProviders.Tzdb
.CreateDefaultSerializersForNodaTime()
.ConfigureSerializersForNodaTime();
我不断收到以下格式,
即用于LocalDate
序列化:
{
"patientDob": "Thursday, June 15, 2017",
}
如何配置字符串ISO 8601
规范。NodaTime
全球日期类型的格式?
我的模特,
{
public LocalDate patientDob { get; set; }
}
和我的视图模型/API 资源:
{
public string patientDob { get; set; }
}