问题:经常遇到在C#类中的属性是大写开头,而在序列化后要求为小写或者有连接符,如此就需要我们对序列化和反序列化进行设置。
一、
JsonProperty属性解决
public class UserInfo
{
[JsonProperty("id")]
public int Id{ set; get; }
[JsonProperty("userName")]
public string UserName{ set; get; }
}
二、使用newtonsoft.json来设置格式化的方式(推荐使用)
var user = new { Name = "john", Age = 19 };
var serializerSettings = new JsonSerializerSettings
{
// 设置为驼峰命名
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var userStr = JsonConvert.SerializeObject(user, Formatting.None, serializerSettings);