C#序列化的时候将实体进行驼峰命名(第一个首字母小写)

C#

浏览数:65

2019-8-30

引用的程序集:

NewtonSoft

第一种:使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性)

public class UserInfo
{
  [JsonProperty("id")]
  public int Id{ set; get; }
  [JsonProperty("userName")]
  public string UserName{ set; get; }
}

第二种:使用newtonsoft.json来设置格式化的方式(推荐使用)

            var user = new UserInfo { UserName = "john", Id = 19 };
            var serializerSettings = new JsonSerializerSettings
            {
                // 设置为驼峰命名
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            };
            var userStr = JsonConvert.SerializeObject(user, serializerSettings);

            var data = JsonConvert.DeserializeObject<UserInfo>(userStr);
     Console.WriteLine(data.UserName + "   " + data.Id);

转换后的JSON

序列化.png

驼峰命名,反列化也一样能够映射到实体上面

反序列化.png

作者:HapplyFox