在 ASP.NET Core MVC 中,是否可以自定义类型在响应中序列化的方式?
在我的特定用例中,我有一个结构体 AccountId
,它简单地包装了一个Guid
。
public readonly struct AccountId
{
public Guid Value { get; }
// ...
}
当我从动作方法中返回它时,毫不奇怪地,它序列化为以下内容:
{ "value": "F6556C1D-1E8A-4D25-AB06-E8E244067D04" }
相反,我希望自动展开Value
,使其序列化为纯字符串:
"F6556C1D-1E8A-4D25-AB06-E8E244067D04"
MVC可以配置以实现这一点吗?
JsonConverter
。JSON.NET 作为默认的 JSON 序列化器,因此请查阅他们的文档。 - Chris PrattToString
方法。但这会影响到更多的地方,不仅仅是序列化。 - Chris PrattJsonConverter
,并可能在MVC问题跟踪器上建议更通用的解决方案。 - Michał Dudak