C#实体对象序列化成Json,格式化,并让字段的首字母小写
解决办法有两种:
第一种:使用对象的字段属性设置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);
配置返回的时间类型数据格式
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); ////配置返回的时间类型数据格式 //GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add( // new Newtonsoft.Json.Converters.IsoDateTimeConverter() // { // DateTimeFormat = "yyyy-MM-dd hh:mm:ss" // }); }