如何将 JSON 数组发布到 Web API?它适用于单个对象。
这是我尝试过的方法,但 Controller 似乎返回了 0
而不是预期的 3
。
这是我的 JSON:
var sc = [{
"ID": "5",
"Patient_ID": "271655b8-c64d-4061-86fc-0d990935316a",
"Table_ID": "Allergy_Trns",
"Checksum": "-475090533",
"LastModified": "2015-01-22T20:08:52.013"
},
{
"ID": "5",
"Patient_ID": "271655b8-c64d-4061-86fc-0d990935316a",
"Table_ID": "Allergy_Trns",
"Checksum": "-475090533",
"LastModified": "2015-01-22T20:08:52.013"
},
{
"ID": "5",
"Patient_ID": "271655b8-c64d-4061-86fc-0d990935316a",
"Table_ID": "Allergy_Trns",
"Checksum": "-475090533",
"LastModified": "2015-01-22T20:08:52.013"
}];
AJAX 调用:
$.ajax({
url: urlString,
type: 'POST',
data: sc,
dataType: 'json',
crossDomain: true,
cache: false,
success: function (data) { console.log(data); }
});
网络 API Controller :
[HttpPost]
public string PostProducts([FromBody]List<SyncingControl> persons)
{
return persons.Count.ToString(); // 0, expected 3
}
最佳答案
json 中有错误 Table_ID": "Allergy_Trns"
应该是 "Table_ID": "Allergy_Trns"
。
缺少双引号。
更新
您需要确保以 json 格式发送参数,如下所示:
$.ajax({
url: urlString,
type: 'POST',
data: JSON.stringify(sc),
dataType: 'json',
contentType: 'application/json',
crossDomain: true,
cache: false,
success: function (data) { console.log(data); }
});
注意 JSON.stringify(sc)
,@herbi 在指定内容类型方面也部分正确。
屏幕抓取
关于c# - 如何将 json 对象数组发布到 web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106872/