在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考。具体实现方法如下: 1、Global 中增加json输出 复制代码 代码如下: GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json"));
protected void Application_Start() 2、Global 中删除xml解析 复制代码 代码如下: GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
protected void Application_Start() 3、指定返回格式 新建方法 需要程序集: 复制代码 代码如下: System.Web.Extensions
public static HttpResponseMessage ToJson(Object obj) { String str; if (obj is String || obj is Char) { str = obj.ToString(); } else { var serializer = new JavaScriptSerializer(); str = serializer.Serialize(obj); } var result = new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") }; return result; } 调用户方法转换为json对象输出 复制代码 代码如下: public HttpResponseMessage GetString(string name)
{ return ToJson(name); } 4、重写默认实现类 所有输出将被重新解析成 json 新建JsonContentNegotiator 类 复制代码 代码如下: public class JsonContentNegotiator : IContentNegotiator
{ private readonly JsonMediaTypeFormatter _jsonFormatter; public JsonContentNegotiator(JsonMediaTypeFormatter formatter) { _jsonFormatter = formatter; } public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters) WebApiConfig中使用重写 复制代码 代码如下: public static void Register(HttpConfiguration config)
{ config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var jsonFormatter = new JsonMediaTypeFormatter(); // 取消注释下面的代码行可对具有 IQueryable 或 IQueryable<T> 返回类型的操作启用查询支持。 // 若要在应用程序中禁用跟踪,请注释掉或删除以下代码行 希望本文所述对大家的asp.net程序设计有所帮助。 |
请发表评论