【发布时间】:2014-01-23 11:25:35
【问题描述】:
我在 MVC5 中使用 c# 和 我以 JSON 格式将数据发布到 Web-api2 服务器,如下所示:
function SendSms() {
var studentData = {
Id: "4",
ClientId: "2",
NoOfRecipient: "3",
Msg: "This is a test",
Numbers: [
{ Number: "988888888", Id: "3"},
{ Number: "988888787", Id: "5"}
]
};
console.log(JSON.stringify(studentData));
$.ajax({
cache: false,
type: "POST",
url: "http://localhost/ProductsApp/api/SmsClients",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(studentData),
dataType: "json",
processData: true,
success: function (data, status, jqXHR) {
console.log(data);
},statusCode: {
201 /*Created*/: function (data) {
console.log("created");
}
}
})
.fail(
function (xhr, textStatus, err) {
console.log("Error");
});
}
并像这样接受 JSON:
public HttpResponseMessage Post(SmsData smsData)
{
//code to be performed after getting Post
}
而我的 SmsData 模型是这样的:
public class SmsData
{
public int Id { get; set; }
public int ClientId { get; set; }
public int NoOfRecipient { get; set; }
public List<Numbers> Numbers { get; set; }
public string Msg { get; set; }
public DateTime SentDate { get; set; }
}
public class Numbers{
public int Id { get; set; }
public long Number { get; set; }
}
但是我得到了 smsData Null 的 Numbers 属性。为什么会这样...为什么 Numbers 属性会为空。我怎样才能得到数字
【问题讨论】:
-
您是否尝试过在 Numbers 字段中使用数组而不是列表?
-
我相信 'List
' 不适用于 Json 解析器。尝试将其更改为 'Numbers[] Numbers'
标签: c# asp.net-mvc json post asp.net-web-api2