博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于 .Net MVC WebApi 返回json、xml的探究
阅读量:5019 次
发布时间:2019-06-12

本文共 816 字,大约阅读时间需要 2 分钟。

通过断点 WebApiConfig.cs 配置发现,WebApi中有4个序列化器位于 config.Formatters 集合。

第一个就是 JsonMediaTypeFormatter ,紧跟着是 XmlMediaTypeFormatter 。

可是在我们使用浏览器直接访问Api时,返回的却是 Xml 。为什么呢?

继续跟踪发现,WebApi只在接收到 MediaType 为  ["application/json", "text/json"]  时才使用 JsonMediaTypeFormatter 序列化器。

那么问题解决了!

想要在浏览器访问时直接返回 Json 只需要 config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")) 

 

var jsonFormatter = config.Formatters.JsonFormatter;jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));// 对 JSON 数据使用混合大小写。驼峰式,但是是javascript 首字母小写形式.jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();// 解决json序列化时的循环引用问题jsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;

 

转载于:https://www.cnblogs.com/lzjg1314/p/4047578.html

你可能感兴趣的文章
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
销售类
查看>>
技术项目,问题
查看>>
线程池总结
查看>>
Learning to rank (software, datasets)
查看>>
git常见问题
查看>>
.NETFramework:template
查看>>
杂项:MySQL
查看>>
HTML5 介绍
查看>>
Linux tomcat+JDK 安装配置
查看>>
题解 poj3585 Accumulation Degree (树形dp)(二次扫描和换根法)
查看>>
php post接口,登录功能
查看>>
异步lambda表达式
查看>>
HDU - 1851 - A Simple Game
查看>>
每天CookBook之JavaScript-015
查看>>
X-Content-Type-Options和 X-XSS-Protection
查看>>
Django打造大型企业官网(一)
查看>>
洛谷P3950 部落冲突 LCT
查看>>