精华内容
下载资源
问答
  • web apiapi接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回json呢,下面为大家介绍几种不错的方法
  • webApi接口返回json对象

    千次阅读 2019-03-20 10:56:59
    App_Start文件中配置WebApiConfig:配置如下 代码: public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 配置和服务 // W...

    App_Start文件中配置WebApiConfig:配置如下

    代码:

    public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                // Web API 配置和服务
    
                // Web API 路由
                config.MapHttpAttributeRoutes();
    
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
    
                //var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
                //jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                var jsonFormatter = new JsonMediaTypeFormatter();
                config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
            }
        }
        public class JsonContentNegotiator : IContentNegotiator
        {
            private readonly JsonMediaTypeFormatter _jsonFormatter;
    
            public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
            {
                _jsonFormatter = formatter;
            }
    
            public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
            {
                var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
                return result;
            }
        }

    控制器一点要继承ApiController

    字符串转object

    var result=JSON.parse(coderes.result);

    展开全文
  • C# WebApi 返回JSON

    2019-02-02 08:50:00
    C# WebApi 返回JSON 原文:C# WebApi 返回JSON 在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法。 1. 不用改配置文件,在...
    原文: C# WebApi 返回JSON

     

    在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法。

     

    1. 不用改配置文件,在Controller的方法中,直接返回HttpResponseMessage

            public HttpResponseMessage ReturnJson()
            {
                //初始化测试对象
                  TestJsonObj t = new TestJsonObj();
                t.Name = "alun";
                t.Address = "GZ";
    
                //OBJ转化成JSON
                string json = JsonConvert.SerializeObject(t);
    
                //返回json数
                  return new HttpResponseMessage()
                {
                    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 = new JsonMediaTypeFormatter();
    config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));

    使用自定义的只返回Json Result的content negotiation代替Web Api中默认的content negotiation。

     

    本文推荐方法3,因为简单好用。

     

    注意:

    如果使用了swagger:

    当使用方法1,在swagger页面上,返回的obj的说明文档不会显示出来

    image

     

    当使用方法3,swagger说明文档会一直处于fetching resource的状态。

    image

     

    所以我们在测试的时候使用方法2,正式环境的时候使用方法3,做一个判断就可以了,如下:

                //设置返回json
                if (CPublicAttribute.TestEnviroment)
                {
                    config.Formatters.Clear();
                    config.Formatters.Add(new JsonMediaTypeFormatter());
                }
                else
                {
                    var jsonFormatter = new JsonMediaTypeFormatter();
                    config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
    posted on 2019-02-02 08:50 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/10347507.html

    展开全文
  • .net webapi 返回json格式

    2020-01-22 16:49:55
    //get请求返回json对象:在这里插入代码片 public HttpResponseMessage Get() { List < User > userslist= new List<User>() { new User() { uid = 1, name = "张三1" }, ...

    //get请求返回json对象:在这里插入代码片

    public HttpResponseMessage Get()
            {
                List < User >  userslist= new List<User>() {
                    new User() { uid = 1, name = "张三1" },
                    new User() { uid = 2, name = "张三2" },
                    new User() { uid = 3, name = "张三3" },
                    new User() { uid = 4, name = "张三4" },
                    new User() { uid = 5, name = "张三5" },
                    new User() { uid = 6, name = "张三6" } ,
                   new User() { uid = 7, name = "张三7" } ,
                   new User() { uid = 8, name = "张三8" }
                };
                HttpResponseMessage httpReponseMessage = new HttpResponseMessage();
                string jsonstr = JsonConvert.SerializeObject(userslist);
                httpReponseMessage.Content = new StringContent(jsonstr);
                return httpReponseMessage;
            }
    

    实现效果:

    [{"uid":1,"name":"张三1"},{"uid":2,"name":"张三2"},{"uid":3,"name":"张三3"},{"uid":4,"name":"张三4"},{"uid":5,"name":"张三5"},{"uid":6,"name":"张三6"},{"uid":7,"name":"张三7"},{"uid":8,"name":"张三8"}]
    
    展开全文
  • { string strJson = "{\"UserName\":\"张三\",\"Age\":\"14\",\"Gender\":\...return new HttpResponseMessage { Content = new StringContent(strJson , System.Text.Encoding.UTF8, "application/json") }; } ...
    [HttpGet]
    public HttpResponseMessage GetStuInfo()
    {
    string strJson = "{\"UserName\":\"张三\",\"Age\":\"14\",\"Gender\":\"男\"}";
    return new HttpResponseMessage { Content = new StringContent(strJson , System.Text.Encoding.UTF8, "application/json") };
    }
    
    展开全文
  • WebApi返回类型设置为json的三种方法

    千次阅读 2018-07-18 11:36:27
    api中的的自动序列化对象,自己序列化后再返回 public HttpResponseMessage PostUser(User user) { JavaScriptSerializer serializer = new JavaScriptSerializer(); string str = serializer....
  • 这两天在工作中使用SignalR的WebSocket做数据实时传递的功能开发,在后端主动向前端广播数据以Json传递时,前端获取的Json中...调研了一番,发现我们一般Web Api 或者Web MVC中的Controler内的那些JsonResult、Act...
  • ASP.NET之WEBAPI和webservice返回json数据

    千次阅读 2018-11-08 09:11:57
    背景:webapi和webservice想返回json格式的数据,供前台直接使用。 返回数据样式: WEBAPI: 接口返回类型为HttpResponseMessage public HttpResponseMessage ReturnJson(string content) { ...
  • 关于 webApi 返回json 和 xml 的问题

    千次阅读 2018-06-21 11:09:59
    对于mvc webApi 默认的返回参数是json格式的,而我在和同程艺龙做接口对接的时候,因为同程艺龙 传递的参数和返回的数据都要求用xml 格式,所以只能改变默认的返回参数: 在 Register 注册时修改: var format = ...
  • 最近遇到一个比较郁闷的问题,记录一下 ...首先,配置 webapi的路由 App_Start 文件夹下 ,WebApiConfig 修改一下: ps 个人习惯做如下修改 config.Routes.MapHttpRoute( name: "DefaultApi", ...
  • 在.netframwork的mvc框架下创建的webapi默认同时支持json和xml。 但是.net core新建的web API默认只支持返回json,如果想要同时支持XML。需要修改下配置。 在项目的startup.cs文字中,修改services.AddMvc(),为...
  • webapi 获取json数据

    2019-02-26 17:33:00
    ②稍微改动下,把参数类型换成objct,这样我们不管是传递json对象和字符串都是能够接受到的 [HttpPost] public IHttpActionResult Test4([FromBody] object json) { throw new Exception( " 嘻嘻嘻 ...
  • ASP.NET MVC4 Web API application defines post method to save customer. ASP.NET MVC4 Web API应用程序定义了保
  • string str="{\"msgType\":1001,\"msgstring\...//这里是你的json带有反斜杠的 HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "applicat
  • 修改 mvc webapi 默认返回 json 格式

    万次阅读 2015-09-29 16:45:02
    修改 mvc webapi 默认返回 json 格式
  • 用.net写web api的时候,返回json

    千次阅读 2018-04-23 14:13:37
    某一天发现web api的接口返回json字符串(string格式)中,有多余的双引号,百度之后修改OK,代码如下:public HttpResponseMessage get() { //建立连接对象 SqlConnection cnn = new SqlConnection(); cnn....
  • 原来netcore会自动的将返回对象进行序列化,我们返回之前就已经序列化过了,就导致重复序列化就多了转义符“\\”,所以去除返回之前的序列就好了,直接返回实体对象。最终代码如下:  ///  /// Gets this ...
  • WebApi传递JSON参数

    千次阅读 2017-12-12 10:16:06
     http://www.cnblogs.com/FlySoul/p/4247871.html
  • /// 解析JSON字符串生成对象实体 /// /// 对象类型 /// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"}) /// 对象实体 public static T DeserializeJsonToObject < T > ( ...
  • 这是Js文件,先通过$.get来向controler发送请求 $(document).ready(function () { $.get("/api/menu/", function (data) { //data是string类型的json ... //将json字符串转换成json对象 ...
  • web apiapi 接口时默认返回的是把你的对象序列化后以 XML 形式返回 那么怎样才 能让其返回json 呢下面为大家介绍几种不错的方法 web apiapi 接口时默认返回的是把你的对象序列化后以 XML 形式返回 那么...
  • 在ASP.NET MVC中,我们一般返回json数据,直接return Json(data)就可以了,但是C#字段命名规范是首字母大写,返回Json的时候就是直接序列化了指定的实体对象,就是大写了。这里自己创建一个JsonResult,继承...
  • WebApi自带json序列化对遇到时间日期字段的时候,到前端获取的格式总是为“ 2016-07-14T15:32:44”,中间总是会带一个T,显然不是很友好。先是偷懒在园子里边去找一些解决方案,尝试了一下,然并卵。于是,自己想...
  • asp.netcore返回json对象

    2020-11-16 22:29:20
    一般我们写REST的输入和输出的时候,可以定义一些DTO类来进行转换,但是某些时候,输入和返回的类的具体格式我们不能确定下来,这个时候,就需要直接使用Json字符串或者对象了。 但是如果直接返回JObject,会提示...
  • 3个月前接手的 java web 项目前几天交付验收成功了,作为该项目开发组的负责人,在苦苦加班2个多月后得到公司及客户的肯定,心里那个叫高兴啊。 所做的 java web 的整体架构非常简单易懂,整个网站以前端为主体,...
  • 在使用ASP.NET WEB API时,我想在某个方法返回JSON格式的数据,于是首先想到的就是手动构建JSON字符串,如:"{\"result\":\"true\"}" 虽然这种方式不可取但是基于测试的目的,如果真实项目用拼接JSON这是很容易出现...
  • public static class WebApiConfig ...第一次用.net的webapi REst 发现.返回json 竟然首字母都自动小写了. 搞了好久,最后才知道.原来在WebApiConfig类里面改一下就好了.改成默认的 new DefaultContractResolver()
  • Asp.net core 在做webapi项目的时候,默认是只返回json格式的数据的,如果想要开启xml数据返回,需要在startup里配置如下: public void ConfigureServices(IServiceCollection services) { // Add framework...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,362
精华内容 52,144
关键字:

webapi如何返回json对象