我有一个要序列化的类,但我正在使用[JsonProperty("Name")]
属性注释更改输出字符串的属性名称。如下所示:
[JsonProperty("Name")]
public string PersonName{ get; set; }
现在,当我想取回数据时,这些值无法映射到属性,因此它们被设置为 null。
这就是我获取数据的方式:
[WebMethod]
public static void GetData(List<Person> persons)
{
//each persons Name property comes as null
}
这就是我从客户端发送数据的方式:
$.ajax({
type: "POST",
url: "TestPage.aspx/GetData",
data: "{'persons':" + '[{ "Name": "Me"}]' + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("Data Submitted");
}
});
现在我无法阻止 .NET 序列化我从客户端传递的 JSON 字符串,所以我必须让我的页面方法接受参数类型,List<Person>
否则我会收到错误,这也阻止我使用JsonConvert.DeserializeObject<List<Person>>(person);
这将解决映射问题.
所以,请有人花时间阅读这篇文章并给我一些想法。