ASP.NET Web方法似乎使用JavaScriptSerializer,因为它忽略了我的对象上的[DataContract]和[DataMember]属性。
我有一个看起来像这样的对象:
[DataContract]
public class MyObject
{
[DataMember("firstField")]
public string FirstField { get; set; }
[DataMember("secondField")]
public string SecondField { get; set; }
}
我的网络方法如下:
[WebMethod]
public static IEnumerable<MyObject> GetData() { ... }
除此之外,我希望JSON属性名称为 firstField 而不是 FirstField 。
有没有办法配置WebMethods以使用DataContractJsonSerializer,以便它尊重DataMember注释?
答案 0 :(得分:4)
[WebMethod]
和任何数据合同序列化程序都是完全不相关的技术,它们不能混合使用。如果要使用DataContractJsonSerializer,则需要使用WCF,而不是[WebMethod]
使用的旧ASMX技术。