webapi输出炜json_C# WebApi 返回JSON
在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法。
1. 不用改配置文件,在Controller的方法中,直接返回HttpResponseMessage
publicHttpResponseMessage ReturnJson()
{//初始化测试对象
TestJsonObj t = newTestJsonObj();
t.Name= "alun";
t.Address= "GZ";//OBJ转化成JSON
string json =JsonConvert.SerializeObject(t);//返回json数
return newHttpResponseMessage()
{
Content= new StringContent(json, Encoding.UTF8, "application/json"),
};
}
TestJsonObj是我们测试的类
上面的方法比较繁杂,但是灵活。每次都要把对象转换成JSON,效率上有点慢。
2. 在全局设置中,把所有返回的格式清除,设置JSON。所有的返回的xml格式都会被清除
在WebApiConfig类的Register方法中,我们添加下面代码:
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
这种方式虽然可以实现功能,但是所有的conent negotiation还是会发生,这就会产生以下额外的开销了。因为,你已经知道要返回的结果了,也只想返回Json,其他的content negotiation都不需要了。
3. 在全局设置中,使用自定义的只返回Json Result。只让api接口中替换xml,返回json
在WebApiConfig类的Register方法中,我们添加下面代码:
var jsonFormatter = newJsonMediaTypeFormatter();
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
使用自定义的只返回Json Result的content negotiation代替Web Api中默认的content negotiation。
本文推荐方法3,因为简单好用。
注意:
如果使用了swagger:
当使用方法1,在swagger页面上,返回的obj的说明文档不会显示出来
当使用方法3,swagger说明文档会一直处于fetching resource的状态。
所以我们在测试的时候使用方法2,正式环境的时候使用方法3,做一个判断就可以了,如下:
//设置返回json
if(CPublicAttribute.TestEnviroment)
{
config.Formatters.Clear();
config.Formatters.Add(newJsonMediaTypeFormatter());
}else{var jsonFormatter = newJsonMediaTypeFormatter();
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
webapi输出炜json_C# WebApi 返回JSON相关推荐
- webapi输出炜json_web Api 返回json 的两种方式
web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法) 找到Global.asax文件,在Applic ...
- webapi输出炜json_webapi转化为json格式
引用命名空间: using System.Web.Script.Serialization; using System.Text; (using system.web.Mvc;) 添加引用: Newt ...
- webapi输出炜json_WebApi返回Json格式
namespaceTestWebApi {public static classWebApiConfig {public static voidRegister(HttpConfiguration c ...
- .net core webAPI 使其同时支持返回json或xml
在.netframwork的mvc框架下创建的webapi默认同时支持json和xml. 但是.net core新建的web API默认只支持返回json,如果想要同时支持XML.需要修改下配置. 在 ...
- webapi输出炜json_asp.net web api只返回json数据格式
asp.net web api默认是同时支持返回xml和json数据格式的.这种机制是因为有web api框架中的SupportedMediaTypes的存在. 具体返回什么样的数据格式,你可以在请求 ...
- webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例
本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...
- C# WebApi 返回JSON类型
在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法. 1. 不用改配置文件,在Controller的方法中,直接返回Http ...
- ASP.NET Core WebAPI JWT Bearer 认证失败返回自定义数据 Json
开发环境:ASP.NET Core Web API 目标框架:.NET Core 2.2 权限认证:JWT Bearer 提供者:成长的小猪 Jason Song 应用场景:当前我们给微信小程 ...
- webApi前端ajax调用后端返回{“readyState“:0,“status“:0,“statusText“:“error“}解决方案
webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error& ...
最新文章
- OpenResty搭建高性能服务端
- matlab函数算错,函数是这个样子的,我是不懂应该怎么输入,试了好多种情况都是错...
- Java智能教育平台源码基于 SpringBoot + Mybatis + Shiro + mysql + redis构建,前后端分离。
- 计算机通信逻辑信号电信号,计算机通信原理
- 谈谈创业这点事 之 时间窗口
- JS: 百度地图与腾讯/高德地图经纬度转换
- Android 开发笔记___图像按钮__imageButton
- Python | 基础学习(二)函数基础、非数字型变量(列表、元组、字典、字符串)、切片、for循环
- 金融量化数据接口API汇总
- HMAC_SHA1和SHA1的区别
- 爱思国际获戈壁创投数百万美元Pre-A 轮融资,意做菲律宾的分众传媒...
- linux下eclipse的使用,linux下使用eclipse
- OLE技术专题——第一讲:OLE概述
- python函数运行加速
- 【苹果推iMessage】软件安装通过ApplseScript节制iMessage客户端
- 洛谷P2336 喵星球上的点名
- 国标GB28181(EasyGBS)/RTSP/HIKSDK/EHOME协议视频智能分析平台EasyCVR人脸识别智能分析功能拓展
- js数据结构- 双向链表
- 分享一次光电可控硅的误用
- 2019年注册会计师考试全套高清视频课件百度云网盘免费下载方法
热门文章
- java中的土味情话,Leslie情话
- win10如何添加开机自己启动软件
- 【创建者模式】工厂模式
- 常用的PCB供电电路,电源芯片,看看有没有你需要的
- Magics 23.0如何激活和使用视图工具页的切片预览功能
- 网页flash播放和html播放器,【关于Flash网页播放器的定位与浮动的HTML代码】
- mysql查询依赖的ID_为什么peewee在mysql select查询中包含'id'列?
- 5. 创建视图vw_vp:查询小米Note2的供应商姓名(vname)、供应商地址(vaddress)、邮政编码(vzip),产品价格(pprice)。
- copy()及copy.deepcopy()
- 开源, 一种全新的创业模式,正在悄然袭来