NancyFx绑定时间跨度不工作json

本文关键字:工作 json 时间跨度 绑定 NancyFx | 更新日期: 2023-09-27 17:53:46

早上好

我使用NancyFx,我有一个问题,当我试图绑定一个类与TimeSpan属性,我使用AngularJs太

我使用的json是:

{"描述":"foo",
" scheduleTime ": {"天":0,"小时":23日,"分钟":36岁,"秒":10"毫秒":0}

};

My c# Class

public class Scheduler
{
    public int IDHorario{ get; set; }
    public string Descripcion { get; set; }
    public Nullable<TimeSpan> scheduleTime{ get; set; }
}

My Nancy Module

Post["/Add"] = parameters =>
{
    var sch= this.Bind<Scheduler>();
    HorarioDB.CreateHorario(sch);
    return new Response().WithStatusCode(HttpStatusCode.OK);
};

但我收到scheduleTime空,我不知道为什么??:"(

你知道吗??

Thanks A lot

NancyFx绑定时间跨度不工作json

查看源代码,TimeSpan json转换器只处理TimeSpan,而不是可空的TimeSpan。

您可以为Nancy提交一个问题,或者更好的是,提供一个修复-这是一个开源项目,欢迎贡献。

目前,考虑在你的类中使用非空属性。

或者,创建自己的JavaScriptConverter并注册它。有关实现细节,请参阅TimeSpan转换器是如何诞生的。您可以重用现有的,只需验证是否有传入数据。比如:

public override IEnumreable<Type> SupportedTypes
{
   get
   {
      return new[]{typeof(Nullable<TimeSpan>)};
}
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
   if (dictionary.Count == 0)
   {
      return null;
   }
   return new TimeSpanConverter().Deserialize(dictionary, type, serializer);
}