序列化对象设置字段首字母小写(驼峰命名法)
首先向各位介绍一下什么是驼峰命名法:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
为什么有这个规范:
我们程序员写代码喜欢随心而写,比如写一个user name的变量,他们常用的写法会有username、user_name、UserName或者userName等写法,为了统一就有了小驼峰命名法(userName)及大驼峰命名法(UserName)进行规范化。
好了那么我们进入正题,我们采取了大驼峰命名后需要小驼峰序列化咋办:
1、使用对象的字段属性设置JsonProperty来实现
public class UserInfo { [JsonProperty("id")] public int Id{ set; get; } [JsonProperty("userName")] public string UserName{ set; get; } }
2、使用newtonsoft.json来设置格式化的方式(推荐使用)
var serializerSettings = new JsonSerializerSettings { // 设置为驼峰命名 ContractResolver = new CamelCasePropertyNamesContractResolver() }; var userStr = JsonConvert.SerializeObject(user, Formatting.None, serializerSettings);