WebApi 返回小驼峰式 json 格式,并格式化日期
2015-01-21 15:52
621 查看
在 WebApiConfig 类中增加方法ConfigureApi,并在 Register 方法最后调用一下 ConfigureApi(config);
增加一个实现IContentNegotiator 接口的类 JsonContentNegotiator
详细如下:
public static void ConfigureApi(HttpConfiguration config)
{
var jsonFormatter = new JsonMediaTypeFormatter();
var settings = jsonFormatter.SerializerSettings;
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
//这里使用自定义日期格式
timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
settings.Converters.Add(timeConverter);
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
}
public class JsonContentNegotiator : IContentNegotiator
{
private readonly JsonMediaTypeFormatter _jsonFormatter;
public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
{
_jsonFormatter = formatter;
}
public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
{
var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
return result;
}
}
增加一个实现IContentNegotiator 接口的类 JsonContentNegotiator
详细如下:
public static void ConfigureApi(HttpConfiguration config)
{
var jsonFormatter = new JsonMediaTypeFormatter();
var settings = jsonFormatter.SerializerSettings;
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
//这里使用自定义日期格式
timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
settings.Converters.Add(timeConverter);
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
}
public class JsonContentNegotiator : IContentNegotiator
{
private readonly JsonMediaTypeFormatter _jsonFormatter;
public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
{
_jsonFormatter = formatter;
}
public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
{
var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
return result;
}
}
相关文章推荐
- WebApi 返回小驼峰式 json 格式,并格式化日期
- WebApi 返回小驼峰式 json 格式,并格式化日期
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- WebApi 自带Json返回日期带T无法格式化的问题
- .Net Core WebApi返回的json数据,自定义日期格式
- 后台返回json格式数据日期格式化
- webapi返回json格式,并定义日期解析格式
- extjs显示格式化返回JSON格式的日期
- json返回日期格式化
- MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
- JQuery返回Json日期格式的問題
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
- 如何让webapi只返回json格式数据
- 格式化json日期格式对象
- Spring mvc + jackson2 返回json格式(包含日期格式解析)
- MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
- JQuery返回Json日期格式的問題 jquery对时间/Date(1387900800000)进行处理