gpt4 book ai didi

c# - NancyFx 绑​​定 TimeSpan 不工作 json

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:14 25 4
gpt4 key购买 nike

早上好(在这里)

我正在使用 NancyFx,当我尝试使用 TimeSpan 属性绑定(bind)一个类时遇到问题,我也在使用 AngularJs

我使用的 json 是:

{ "description": "foo",
"scheduleTime": { "days": 0, "hours": 23, "minutes": 36, "seconds": 10, "milliseconds": 0 } };

我的 C# 类

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

我的南希模块

Post["/Add"] = parameters =>
{
var sch= this.Bind<Scheduler>();

HorarioDB.CreateHorario(sch);

return new Response().WithStatusCode(HttpStatusCode.OK);
};

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

有什么想法吗??

非常感谢

最佳答案

查看 source code ,TimeSpan json 转换器仅处理 TimeSpan,而不处理可为 null 的 TimeSpan。

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

目前,请考虑在您的类中使用不可为 null 的属性。

或者,创建您自己的 JavaScriptConverter 并注册它。查看TimeSpan converter was born如何有关实现细节。您可以重用现有的,只需验证是否有传入数据即可。像这样的东西:

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);
}

关于c# - NancyFx 绑​​定 TimeSpan 不工作 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com