ASP.NET 4 JSON DataContractJsonSerializer小写

ASP.NET 4 JSON DataContractJsonSerializer小写,asp.net,json,webforms,datacontractserializer,Asp.net,Json,Webforms,Datacontractserializer,我有一个类,它有几个属性,所有属性都在句子case中定义: Public Class Provider Public Property ProviderName As String End Class 我需要能够通过AJAX传递这些实例,然后在JavaScript中使用这些实例添加到数组、进程等中。目前,我正在使用DataContractJsonSerializer序列化为JSON,并通过ASHX处理程序返回。可能是我太挑剔了,但我真的不喜欢JavaScript中的句子大小写属性,我希

我有一个类,它有几个属性,所有属性都在句子case中定义:

Public Class Provider
    Public Property ProviderName As String
End Class
我需要能够通过AJAX传递这些实例,然后在JavaScript中使用这些实例添加到数组、进程等中。目前,我正在使用DataContractJsonSerializer序列化为JSON,并通过ASHX处理程序返回。可能是我太挑剔了,但我真的不喜欢JavaScript中的句子大小写属性,我希望它们都是小写,以产生以下内容:

alert(myProvider.providername);
使用默认的DataContractJsonSerializer,我根本找不到一种方法来实现这一点!对于JSON.NET来说,这似乎是一个简单的任务,但不幸的是,我无法在这个项目中引入另一个依赖项——正如我所希望的那样

有人知道有什么方法可以覆盖生成的键的格式吗

该项目使用ASP.NET Web Forms 4.0

谢谢


Chris。

可以自定义DataMember属性以使用小写名称。下面是C#中的语法,我假设在VB中应该是类似的:

[DataMember(Name = "title")]
public string Title { get; set; }

当然,不仅仅是你,还有其他人也有这种莫名其妙的恋物癖。是的,我觉得奇怪的不仅仅是我!所以除了@GrantThomas指出我有一种癖好之外,有人知道什么东西可以让我实现这一点吗?需要这样做的一个例子是,当我们为第三方控件生成JSON时,它们只能读小写。在C#中使用小写会引起编译器警告,因此我们需要两者。我在下面添加了一个解决方案。