C# 控制器接受类作为JSON参数
这是当前代码的简化版本。 我发布的json:C# 控制器接受类作为JSON参数,c#,asp.net,json,class,C#,Asp.net,Json,Class,这是当前代码的简化版本。 我发布的json: [HttpPost] public bool Add([FromBody]Person Object) { if (!Object.IsValid()) return false; Repository.Add(Object); return true; } public class Person : Model { public Age Age; pu
[HttpPost]
public bool Add([FromBody]Person Object)
{
if (!Object.IsValid()) return false;
Repository.Add(Object);
return true;
}
public class Person : Model
{
public Age Age;
public string Name;
public override bool IsValid()
{
if (Age == null) return false;
return true;
}
}
public class Age
{
public DateTime Creation { get; set; }
public Age() {}
public Age(DateTime Creation)
{
this.Creation = Creation;
}
public int Compute()
{
return DateTime.Now.Year - Creation.Year; // Leap Year?
}
}
如何通过接受自定义类。json?如果我取代公众年龄;具有公共日期时间年龄;然后,这段代码就可以工作了,并且正确地解析了日期get。如果我不知道,则会发生运行时异常,因为“Object”为null(可能是由于内部反序列化错误) 您发布的json需要与您希望它绑定到的模型结构相匹配(如果您只想内置模型绑定来完成它的工作) i、 e。 尝试发布:
{
"Age": "2016-01-01T00:00:00.0000000-00:00",
"Name": "Humberg"
}
哦,我已经试过了,但是我没有使用正确的日期格式。非常感谢。不幸的是,有一个计时器接受你的答案,但这是它。你也应该考虑在<代码>人>代码>类的定义中初始化<代码>年龄>代码>属性。
{
"Name" : "Humberg",
"Age" : {
"Creation" : "2016-01-01T00:00:00.0000000-00:00"
}
}