Skip to main content
 首页 » 编程设计

c#之如何从 .Net Core Web API 返回 Json

2024年02月25日35lhb25

这是一个基本问题。我是 ASP.Net Core 的新手,所以我使用 Visual Studio 2017 中的模板创建了一个 .Net Core Web API 项目,我想知道如何从 Get() 函数返回 Json 字符串。

提供的 Get() 函数。

    [HttpGet] 
    public IEnumerable<string> Get() 
    { 
        return new string[] { "value1", "value2" }; 
    } 

我想知道如何改变它返回一个 Json 字符串的 int 变量,如下所示。

    // GET: api/MOER 
    [HttpGet] 
    public <<some return type>> Get() 
    { 
        _MOER = 32; 
 
        return <<return a Json result/string of _MOER>>; 
    } 

我看到了 Nuget 包 Newtonsoft.Json,您可以在其中进行序列化/反序列化,但我不确定它是否适用于 .Net Core。

我也见过他们使用 JsonResult 的示例,但是当我尝试使用这种方法时,编译器不知道 Json() 是什么。

    [HttpGet] 
    public JsonResult Get() 
    { 
        _MOER = 32; 
 
        return Json(_MOER); 
    } 

感谢您的帮助!

请您参考如下方法:

将此属性添加到您的 Controller 类:

[Produces("application/json")] 

于是变成了:

[Produces("application/json")] 
public class YourController: Controller { 
 
   [HttpGet] 
   public IEnumerable<string> Get() 
   { 
       return new string[] { "value1", "value2" }; 
   } 
} 

这应该足够了,否则我认为默认是 XML(除非客户端使用 Accept HTTP header 明确要求 JSON)。