C# 通过WebAPI正确序列化LocalTime
我在通过WebAPI序列化和反序列化NodeTime的本地时间时遇到问题 类定义C# 通过WebAPI正确序列化LocalTime,c#,asp.net-web-api,json.net,nodatime,C#,Asp.net Web Api,Json.net,Nodatime,我在通过WebAPI序列化和反序列化NodeTime的本地时间时遇到问题 类定义 public class ExampleClass { public LocalTime ExampleLocalTime { get; set; } } 尝试序列化输出 // create example object var exampleclass = new ExampleClass() { ExampleLocalTime = new LocalTime(DateTime.Now.H
public class ExampleClass
{
public LocalTime ExampleLocalTime { get; set; }
}
尝试序列化输出
// create example object
var exampleclass = new ExampleClass()
{
ExampleLocalTime = new LocalTime(DateTime.Now.Hour, DateTime.Now.Minute)
};
// serialise output
var jsonsettings = new JsonSerializerSettings()
{
DateParseHandling = DateParseHandling.None,
NullValueHandling = NullValueHandling.Ignore
};
jsonsettings.Converters.Add(new IsoDateTimeConverter());
string exampleoutput = JsonConvert.SerializeObject(exampleclass, Formatting.Indented, jsonsettings);
我想将时间格式格式化为类似ISO的标准,例如12:34:53,但它会将本地时间表示为滴答声,并将其反序列化为以下格式:
{
“ExampleLocalTime”:{
“滴答声”:553800000000
}
}
在反序列化和序列化时,我需要添加什么以避免出现滴答声?Noda Time还有一个额外的NuGet包可用于JSON.Net序列化
PM> Install-Package NodaTime.Serialization.JsonNet
要使用它,只需调用其配置扩展方法:
var jsonsettings = new JsonSerializerSettings()
jsonsettings.ConfigureForNodaTime();
你可以阅读更多关于它的内容(大约在本页的一半)