在 ASP.NET Core Web API 中,可以使用 [JsonIgnore]
属性来抑制某个属性在默认情况下的序列化。
以下是一个示例代码:
using Newtonsoft.Json;
public class MyModel
{
public string Name { get; set; }
[JsonIgnore]
public bool IsEnabled { get; set; }
}
在上面的示例中,IsEnabled
属性被标记为 [JsonIgnore]
,这意味着在序列化时将忽略该属性。默认情况下,IsEnabled
属性将被序列化成 JSON 格式。但是,当使用默认值创建 MyModel
对象时,IsEnabled
属性的默认值将被忽略。
以下是一个使用 MyModel
类的示例代码:
using Microsoft.AspNetCore.Mvc;
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
var model = new MyModel
{
Name = "John Smith",
IsEnabled = false // 默认情况下,IsEnabled 属性的值为 false
};
return Ok(model);
}
}
在上面的示例中,Get
方法返回一个 MyModel
对象。由于 IsEnabled
属性被标记为 [JsonIgnore]
,因此在序列化为 JSON 响应时,将忽略该属性。