第一种方法

API完整代码

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;namespace WebSocket.Api
{/// <summary>/// List文章列表/// </summary>public class ListController : ApiController{// GET api/<controller>/// <summary>/// Listjson方法/// </summary>/// <returns></returns>[AcceptVerbs("GET", "POST")][Route("API/List/Listjson/")][ResponseType(typeof(ReturnResult))]public HttpResponseMessage Listjson(){ReturnResult result = new ReturnResult() {code = 0,msg="成功"};result.data = JsonConvert.SerializeObject(new string[] { "value1", "value2" });string json = JsonConvert.SerializeObject(result); return new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") };}}internal class ReturnResult{/// <summary>///数据状态一切正常的状态码 0:成功,1:失败/// </summary>public int code { get; set; } = 1;/// <summary>/// 状态信息/// </summary>public String msg { get; set; } = "失败";/// <summary>/// 数据详情/// </summary>public string data { get; set; }/// <summary>/// 数据总条数/// </summary>public int count { get; set; } = 0;}
}

这里用到了

1.Newtonsoft.Json

2.设置请求类型

[AcceptVerbs("GET", "POST")]

3.特性路由

[Route("API/List/Listjson/")]

特性路由开启

项目》App_Start》RouteConfig.cs

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

完整代码

namespace WebSocket
{public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapMvcAttributeRoutes();routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}}
}

4.设置响应类型特性

[ResponseType(typeof(ReturnResult))]

这个特性需要引入

using System.Web.Http.Description;

里面的typeof(ReturnResult)ReturnResult是一个模型类,上面的“API完整代码”有写

效果展示

我封装好的代码

我的Swagger实例ASP.NET MVC集成SwaggerUI,Swashbuckle v5.6.0配置

https://blog.csdn.net/cplvfx/article/details/108716279

可能你还需要

c# asp.net mvc API接口安全过滤,api域名过滤,api域名+端口过滤

https://blog.csdn.net/cplvfx/article/details/108510697


第二种方法

参考:http://blchen.com/change-asp-net-web-api-default-return-type-to-json/

ASP.NET Web API的controller默认的返回数据格式是XML格式,要改成返回JSON格式只需要在WebApiConfig.cs文件里的Register方法末尾加上如下代码

var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
json.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";//返回时间格式化
config.Formatters.Remove(config.Formatters.XmlFormatter);

WebApiConfig.cs 完整代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;namespace HaoSiJiaWeb
{public static class WebApiConfig{public static void Register(HttpConfiguration config){// Web API 配置和服务// Web API 路由config.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }); var json = config.Formatters.JsonFormatter;json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;json.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";//返回时间格式化config.Formatters.Remove(config.Formatters.XmlFormatter);}}
}

asp.net mvc让api返回json格式相关推荐

  1. asp.net MVC控制器中返回JSON格式的数据时提示下载

    Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...

  2. MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式

    MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式 2015-01-18 00:11 https://www.muhanxue.com/essa ...

  3. .net mvc web api 返回 json 内容,过滤值为null的属性

    原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载..net mvc web api ...

  4. .net mvc web api 返回 json 内容时过滤值为null的属性

    1.响应内容(过滤前) {"msg":"初始化成功!","code":"","success":tr ...

  5. java json 返回null,[] Spring4 MVC 返回json格式时候 设置不返回null值属性的有关问题...

    [求助] Spring4 MVC 返回json格式时候 设置不返回null值属性的问题 本帖最后由 bighong0404 于 2015-10-06 12:45:38 编辑 背景: 使用@respon ...

  6. [转载]Asp.net MVC中Controller返回值类型

    Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名 并且对Action也有一定的要求: 必须 ...

  7. webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例

    本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...

  8. Spring Boot教程(二十五)返回JSON格式

    在上述例子中,通过@ControllerAdvice统一定义不同Exception映射到不同错误处理页面.而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这 ...

  9. Spring MVC--使用Jackson返回JSON格式数据

    使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; cha ...

最新文章

  1. 扩展typeof来判断js变量的类型
  2. 旺铺免费,淘宝的义务不能免
  3. Hibernate Tools for Eclipse的使用
  4. 想成为全栈工程师,要做到哪几点?
  5. 测试人员未来的3条出路
  6. ad9生成坐标文件_GROMACS各种文件格式介绍
  7. java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
  8. c语言不用的行参警告,如何在C语言中禁止“未使用的参数”警告?
  9. 【数字信号处理】基于matlab GUI IIR低通+FIR高通信号时域+频谱分析【含Matlab源码 1029期】
  10. fiddler4安装及使用手机抓包
  11. setuna快捷键_Setuna 办公截图神器
  12. 计算机应用专业对视力,多媒体教学设备对学生视力影响问题的思考及建议
  13. 万能批处理工具包最终版
  14. 量化选股常见的策略模型
  15. 嵌入式ARM体系结构总结
  16. 数据清洗以及常用的方法
  17. linux 远程端口号,linux远程端口查看
  18. 吉米_王:浅谈深拷贝和浅拷贝异同点
  19. 有钱人抢豪宅,普通人不敢消费:社会在割裂,富人更富,穷人更穷
  20. 带有详细书签的IT电子书大全

热门文章

  1. php获取当前时间的年月日时分秒格式
  2. 使用gravatar生成头像
  3. WifiAdmin wifi管理工具类
  4. 常见的反弹shell的方法以及对反弹shell的解释
  5. Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
  6. python实现指定数据库指定表的数据同步(监听binlog)
  7. zookpeer链接报错Socket is not connected
  8. 小程序上实现秒杀倒计时效果
  9. 印刷和喷绘过程中高精度油墨流量和压力的串级控制解决方案
  10. 医学图像分割评价指标