在 ASP.NET Core 中,ActionResult 属性默认会进行序列化。如果你希望某个属性不被序列化,可以使用 [JsonIgnore] 或 [IgnoreDataMember] 特性来标记该属性。
下面是一个示例,演示如何使用 [JsonIgnore] 特性来排除某个属性的序列化:
public class MyModel
{
public int Id { get; set; }
[JsonIgnore]
public string NotSerializedProperty { get; set; }
public string SerializedProperty { get; set; }
}
public class MyController : Controller
{
public IActionResult Index()
{
var model = new MyModel
{
Id = 1,
NotSerializedProperty = "This property will not be serialized",
SerializedProperty = "This property will be serialized"
};
return Ok(model);
}
}
在上面的示例中,NotSerializedProperty
属性使用了 [JsonIgnore]
特性,因此它不会被序列化。而 SerializedProperty
属性没有标记任何特性,默认会被序列化。
当你访问 Index
方法时,将会返回一个 JSON 格式的响应。在该响应中,NotSerializedProperty
属性不会包含在序列化后的 JSON 中。