请教各位,就是.net core里一个最简单的webAPI,但是当我用Json()方法序列化对象时,vs找不到Json()这个方法我也不确定这个Json是哪个命名空间的。 [HttpGet]    
 public JsonResult Get()
 {
            Dal_Demand_test dal = new Dal_Demand_test();
            var result = dal.PageList(null,"update_time",1,5);
            return Json(result);
 }

解决方案 »

  1.   

    确定派生的是ApiController?
      

  2.   

    return Json(result);
    ->
    return new JsonResult(result);
      

  3.   

    .net core好像不区分基类了。
    web和api都统一继承自Controller
      

  4.   


    大佬,我按你的方法试了,但是我的
    Microsoft.AspNetCore.Mvc下没有Json()这个方法奇了怪了,我用的.net core 2.1没错呀
      

  5.   


    大佬,我按你的方法试了,但是我的
    Microsoft.AspNetCore.Mvc下没有Json()这个方法奇了怪了,我用的.net core 2.1没错呀
    那就奇怪了。你新建一个解决方案,试试看呢
      

  6.   

    Microsoft.AspNetCore.Mvc是不是这个库的引用路径有问题 比如你电脑里有多个版本的IDE 这里引用的版本不一样
      

  7.   

    Produces(“application/xml”, “application/json”)
    强制申明返回json或者xml就行了,没必要再用Json这种方式返回
      

  8.   

    当然前提是你做了类似以下代码
    services.AddMvcCore(opt =>
                {
                    //opt.ReturnHttpNotAcceptable = false;
                    //opt.OutputFormatters.Add()
                })
                .AddJsonFormatters()
                .AddXmlSerializerFormatters()
                .AddFormatterMappings()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);