>我有一个 AJAX 调用,它将以下 JSON 发送到我的 Web 服务:
{"Tags":["12","5","2"],"TargetId":"36946","TargetType":"Officer"}
下面是 Web 服务和自定义类:
[WebMethod]
public string UpdateTags(string PostParameters)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
var tagData = serializer.Deserialize<TagData>(PostParameters);
// do some stuff with tagData
}
[Serializable]
[DataContract(Name = "PostParameters")]
public class TagData
{
[DataMember(Name = "TargetId")]
string TargetId { get; set; }
[DataMember(Name = "TargetType")]
string TargetType { get; set; }
[DataMember(Name = "Tags")]
List<int> Tags { get; set; }
}
不幸的是,tagData 的属性为空。我做错了什么?
TagData 中的属性不是公共的。将它们公开,它应该有效。
我也建议使用 JSON.NET。它更快。