C#对象序列化为JSON时如何处理不同的命名约定?我正在使用ASP.Net将用C#设计的类序列化为JSON。然后,我的Javascript应用程序使用AJAX请求这些对象。我现在已经在几个项目上这样做了,但我遇到了C#标准命名约定对公共成员使用PascalCase的问题,而在Javascript中,它们通常是驼峰命名法。当我有一些使用驼峰命名法的纯Javascript类和一些使用PascalCase的混合使用类时,这尤其成为一个问题,因为我最初是用C#设计它们的。其他人如何处理此类问题?你只选择一个还是另一个?如果是这样,哪一个被更广泛地选择?或者是否有一种使用JSON序列化程序在两种命名约定之间切换的巧妙方法?您可以使用JSON.net为您序列化数据,您甚至可以告诉它使用驼峰命名法。这个问题问了一个类似的问题。这里有一个代码示例供参考:Productproduct=newProduct{ExpiryDate=newDateTime(2010,12,20,18,1,0,DateTimeKind.Utc),Name="Widget",Price=9.99m,Sizes=new[]{“小号中号大号”}};字符串json=JsonConvert.SerializeObject(product,Formatting.Indented,newJsonSerializerSettings{ContractResolver=newCamelCasePropertyNamesContractResolver()});不要担心JSON.net的性能,因为它的性能与本机序列化相当(在大多数情况下更好)。如果您使用的是DataContractJsonSerializer,则可以使用DataMemberAttribute.Name属性指定名称:[DataContract]publicclassUser{[DataMember(Name="user_id")]publicintUserId{get;放;}[DataMember(Name="user_name")]publicstringUserName{get;放;}}将序列化为{"user_id":123,"user_name":"JohnDoe"}我只是使用服务器给我的东西。C#publicclassPerson{publicstringName{get;放;}公共字符串电子邮件{得到;放;}}JS:以上是C#学习教程:C#对象序列化为JSON时如何处理不同的命名约定?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注—$.ajax({...success:function(data){varperson=data;alert(人。姓名);}});本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
