查看您以前的帖子,我假设您有 ASP.NET / C# 背景,因此有这个答案。
在 ASP.NET 中,我们有一个叫做自动序列化的东西。
假设如果您有这样的课程
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
你有一个网络服务、控制器或任何有这样的方法的东西
public bool AddPerson(Person person)
您可以将 JavaScript 对象序列化为这样的 json 字符串
var DTO = {
person: {
FirstName: "Hugh",
LastName: "Jackman",
Age: 10
}
};
$.ajax({
type: 'POST',
contentType: 'application/json',
dataType: 'json',
url: url,
data: JSON.stringify(DTO)
}).done(function () {
console.log("I passed an object");
});
当您转到服务器端方法AddPerson
并在其上放置断点时。然后你会看到json字符串已经被自动反序列化为Person
类的对象。
这样,您还可以传递一组人员,您可以将其检索为List<Person>
PS:JSON.stringify 存在于所有现代浏览器中。对于较旧的,请使用此后备。
更新:如果服务器端方法接受这样的三个参数
public bool AddPerson(string firstName, string lastName, int age)
然后像这样更改您的DTO
var DTO = {
firstName: "Hugh",
lastName: "Jackman",
age: 10
};
并使用相同的 AJAX 调用。
如果您有时间,请阅读此内容。使用复杂类型使调用服务不那么复杂……