C# 作为参数[FromBody]传递的Json数据映射到类,并为NULL
我有一个JSON字符串,它作为Web API的输入参数传递。 我在访问多级JSON数据时遇到麻烦,参数中只接收空值C# 作为参数[FromBody]传递的Json数据映射到类,并为NULL,c#,json,asp.net-web-api,parameter-passing,frombodyattribute,C#,Json,Asp.net Web Api,Parameter Passing,Frombodyattribute,我有一个JSON字符串,它作为Web API的输入参数传递。 我在访问多级JSON数据时遇到麻烦,参数中只接收空值 {"Customer":{"Abc":67,"Def":"main_user","Hij":"0123","Kel":0},"CustomerOrder":{"OrderID":1,"CartId":1,"Amount":10.00,"LogId":123,"UserId":4},"Actions": [ "value": "New", "onclick": "Creat
{"Customer":{"Abc":67,"Def":"main_user","Hij":"0123","Kel":0},"CustomerOrder":{"OrderID":1,"CartId":1,"Amount":10.00,"LogId":123,"UserId":4},"Actions": [ "value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ]}
C类#
这里我接受postbody的数据
[Route("~/FetchData")]
// [ActionName("VoucherStatus")]
[HttpPost]
// GET: http://localhost:28056/FetchData/ //
public ProcessedResponse<DashBoradController> ProcessVoucherFetch([FromBody] Rootobject request)
{ // Some operatons }
[路由(“~/FetchData”)]
//[ActionName(“VoucherStatus”)]
[HttpPost]
//获取:http://localhost:28056/FetchData/ //
公共ProcessedResponse ProcessVoucherFetch([FromBody]根对象请求)
{//某些操作}
可以像上面那样读取整个JSON字符串吗?
任何人都可以帮助修复,我已经做了下面这样的一层JSON
{
“Abc”:67,
“Def”:“主要用户”,
“Hij”:“0123”,
“凯尔”:0
}
但是多级JSON提供空值。您的JSON无效。以下是应绑定到对象的有效JSON:
{
"Customer": {
"Abc": 67,
"Def": "main_user",
"Hij": "0123",
"Kel": 0
},
"CustomerOrder": {
"OrderID": 1,
"CartId": 1,
"Amount": 10,
"LogId": 123,
"UserId": 4
},
"Actions": [
{
"value": "New",
"onclick": "CreateNewDoc()"
},
{
"value": "Open",
"onclick": "OpenDoc()"
},
{
"value": "Close",
"onclick": "CloseDoc()"
}
]
}
亲爱的Luke,感谢您的更正,但我仍然在参数列表中得到空响应。您好。你是如何将你的JSON发布到你的控制器的,你能分享正在做这件事的代码吗?我已经在上面分享了它,你能检查一下吗。我看不到任何正在执行发布到你的动作方法的东西…?我认为你不理解我。操作方法很好,但我们需要查看请求来自何处,以便诊断接收到的消息未绑定到您的模型的原因。。。
{
"Customer": {
"Abc": 67,
"Def": "main_user",
"Hij": "0123",
"Kel": 0
},
"CustomerOrder": {
"OrderID": 1,
"CartId": 1,
"Amount": 10,
"LogId": 123,
"UserId": 4
},
"Actions": [
{
"value": "New",
"onclick": "CreateNewDoc()"
},
{
"value": "Open",
"onclick": "OpenDoc()"
},
{
"value": "Close",
"onclick": "CloseDoc()"
}
]
}