web api 返回数据XML JSON

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web api 返回数据XML JSON相关的知识,希望对你有一定的参考价值。

  WEBAPI返回的数据格式一般是XML和JSON.能根据请求的要求返回.经过试验如下:

    public object Get(string uid)

    {

           return new {msg="成功"};

    }

   // 调用.使用了jquery的AJAX方法,最后一个参数是返回结果的类型.不同参数时,后台返回的数据类型不同,看来服务端能根据前端请求的数据类型自动生成相应类型返回

    $.get(‘get‘,function(data){

          

    },‘json‘)

  // 结果

  {"msg":"成功"} // 返回数据类型参数写json时

  <object><msg>成功</msg></object> //  写xml时

关键点:

  这个类和方法中,可以修改WEBAPI的很多属性.

  public static class WebApiConfig

      // 就是注册WEBAPI路由的这个方法里,也可以修改其它东西.

      public static void Register(HttpConfiguration config)

      {

        config.Formatters // 这个属性里包含了返回值格式的信息,经过实验,打出来的数据如下:        

          // System.Net.Http.Formatting.JsonMediaTypeFormatter // 这个是JSON格式,排在第一位,应该是默认
          // System.Net.Http.Formatting.XmlMediaTypeFormatter   //  XML格式
          // System.Net.Http.Formatting.FormUrlEncodedMediaTypeFormatter // 未研究
          // System.Web.Http.ModelBinding.JQueryMvcFormUrlEncodedFormatter // 未研究

      }

可以修改这个东西,通过传一个地址参数,让它默认返回JSON?以下代码从网上找的,大概如下.

  // 意思是,给jsonformatter这个格式类型增加一个"映射",在URL参数上传入 datatype=json,那么就会返回application/json类型.

  // 经过测试,可以.但还是觉得默认的就好,在前端指定返回类型就行了

  config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("datatype", "json", "application/json"));

 

以上是关于web api 返回数据XML JSON的主要内容,如果未能解决你的问题,请参考以下文章

根据请求从 MVC Web api 返回 xml 或 json

ASP.NET Core 1.0 Web API 不返回 XML

默认情况下如何为 Visual Studio Web API 返回 json

如何从 PHP 中获取远程 JSON 或 XML API 数据并将返回对象分配为 PHP 变量?

PHP Curl,在 application/json 中请求数据返回

如何指定在 ASP.NET Web API 中是需要 JSON 还是 XML?