byt*_*tez 3 .net-core asp.net-core-webapi
当返回具有公共属性的类实例时,会返回一个空的 JSON 对象 { }。但是,如果我返回动态对象,则会返回预期的响应。我使用的是带有最新补丁的 VS2019。重现步骤,创建 ASP.NET Core Web API 项目并选择 .NET Core 3.1 (LTS) 作为框架。将 WeatherForecastController.cs 的内容替换为我在下面包含的内容并运行该应用程序。
using Microsoft.AspNetCore.Mvc;
namespace WebApplication3.Controllers
{
public class JsonResponse
{
public string Challenge;
public int Ttl;
}
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
public ActionResult Get()
{
JsonResponse rsp = new JsonResponse { Challenge = "challenge", Ttl = 1 };
return Ok(rsp); // returns { }
//return Ok(new { Challenge = "challenge", Ttl = 1 }); // returns { challenge: "challenge", ttl: 1 }
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试修改您的JsonResponse类以使属性包含 aget和set访问器的声明,如下所示。
public class JsonResponse
{
public string Challenge { get; set; }
public int Ttl { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
正如本文档中有关“序列化行为”所述,默认情况下会忽略字段。
| 归档时间: |
|
| 查看次数: |
1794 次 |
| 最近记录: |