【发布时间】:2016-04-14 18:36:31
【问题描述】:
因此,根据各种建议,我更新了我的 web api 控制器方法,该方法接受来自
的多个复杂参数对象 //public IHttpActionResult PostCreateCase([FromBody] ARC.Donor.Business.Case.CreateCaseInput CreateCaseInput, [FromBody] ARC.Donor.Business.Case.SaveCaseSearchInput SaveCaseSearchInput)
到
public IHttpActionResult PostCreateCase(JObject jsonObject)
{
}
然后相应地解析它们...
public IHttpActionResult PostCreateCase(JObject jsonObject)
{
var CreateCaseInput = jsonObject["CreateCaseInput"].ToObject<CreateCaseInput>();
var SaveCaseSearchInput = jsonObject["SaveCaseSearchInput"].ToObject<SaveCaseSearchInput>();
ARC.Donor.Service.Case.CaseServices cs = new ARC.Donor.Service.Case.CaseServices();
var searchResults = cs.createCase(CreateCaseInput, SaveCaseSearchInput);
------
}
但即使在那之后,当我使用 Json 对象作为测试我的控制器时
"CreateCaseInput":[
{
"case_nm":"EFG Test",
"case_desc":"EFG is a test",
"report_dt" : "04/12/2015"
}
],
"SaveCaseSearchInput":[
{
"firstName" : "Chiranjib",
"constType" : "IN"
}
]
我仍然在
中获得 CreateCaseInput 和 SaveCaseSearchInput 对象 public IList<ARC.Donor.Business.Case.CreateCaseOutput> createCase(ARC.Donor.Business.Case.CreateCaseInput CreateCaseInput, ARC.Donor.Business.Case.SaveCaseSearchInput SaveCaseSearchInput)
{
.......
}
为空。
我做错了什么?
【问题讨论】:
-
CreateCaseInput和SaveCaseSearchInput在您的 JSON 中是数组,但您正试图将它们反序列化为对象 -
如何传递它们以便可以将它们解析为单独的对象?
-
首先删除 JSON 中的方括号。
标签: json asp.net-web-api