Asp.net Core WebApi 支持json/xml格式的数据返回
2016-11-17 20:06
721 查看
Asp.net core 在做webapi项目的时候,默认是只返回json格式的数据的,如果想要开启xml数据返回,需要在startup里配置如下:
这样就可以通过ajax的accept来控制请求需要返回的数据格式了。
这里需要注意:AddXmlDataContractSerializerFormatters可以将匿名属性式化为xml,而AddXmlSerializerFormatters直接会忽略dynamic/object类型的属性。
转换为xml格式化的时候你可能会遇到奇葩的问题,如下变成,xml格式中会平白无故的多出很多d2p1前缀,那么如何移除xml格式里的d2p1呢?
产生这个问题的原因是因为构造返回结果的多个对象不在同一个命名空间下面,只需要将其放在同一个命名空间即可解决这个问题
参考文章:http://stackoverflow.com/questions/6351425/get-rid-of-d2p1-in-xml-created-with-datacontract-in-serialized-class
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); services.AddMvc() .AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); }) .AddXmlDataContractSerializerFormatters(); }
这样就可以通过ajax的accept来控制请求需要返回的数据格式了。
这里需要注意:AddXmlDataContractSerializerFormatters可以将匿名属性式化为xml,而AddXmlSerializerFormatters直接会忽略dynamic/object类型的属性。
转换为xml格式化的时候你可能会遇到奇葩的问题,如下变成,xml格式中会平白无故的多出很多d2p1前缀,那么如何移除xml格式里的d2p1呢?
产生这个问题的原因是因为构造返回结果的多个对象不在同一个命名空间下面,只需要将其放在同一个命名空间即可解决这个问题
参考文章:http://stackoverflow.com/questions/6351425/get-rid-of-d2p1-in-xml-created-with-datacontract-in-serialized-class
相关文章推荐
- Asp.net Core WebApi 返回JSON自动驼峰格式化问题
- ASP.NET Core WebApi 返回统一格式参数(Json 中 Null 替换为空字符串)
- ASP.NET Core WebApi 返回统一格式参数
- 问题:调用 ASP.Net Core WebAPI的HTTP POST方法时,从 [FromBody] 中读取的 MongoDB GeoJsonObjectModel成员总是null
- 在ASP.NET Core Web API中为RESTful服务增加对HAL的支持
- ASP.Net Core 返回的json数据,自定义日期格式
- asp.net core webapi 日期返回中出现字母T
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
- ASP.NET WebApi MediaTypeFormatter参数绑定的研究,支持POST文本方式的JSON字符串绑定
- 支持多个版本的ASP.NET Core Web API
- ASP.NET WebAPI RC 竟然不支持最常用的json传参
- ASP.NET WebAPI RC 竟然不支持最常用的json传参
- 支持多个版本的ASP.NET Core Web API
- 痴情意外:ASP.NET WebAPI RC 竟然不支持最常用的json传参
- C#.NET WebApi返回各种类型(图片/json数据/字符串),.net图片转二进制流或byte
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- How do I get ASP.NET Web API to return JSON instead of XML using Chrome
- 如何让Asp.net webAPI返回JSON格式数据