c# - 如何在 ASP.NET Web API 中为 Json.NET 设置自定义 JsonSerializerSettings?

标签 c# asp.net-web-api json.net

我知道 ASP.NET Web API native 使用 Json.NET 来(反)序列化对象,但是有没有办法指定您希望它使用的 JsonSerializerSettings 对象?

例如,如果我想在序列化的 JSON 字符串中包含 type 信息怎么办?通常我会将设置注入(inject)到 .Serialize() 调用中,但 Web API 会默默地执行此操作。我找不到手动注入(inject)设置的方法。

最佳答案

您可以使用 HttpConfiguration 对象中的 Formatters.JsonFormatter.SerializerSettings 属性自定义 JsonSerializerSettings

例如,您可以在 Application_Start() 方法中执行此操作:

protected void Application_Start()
{
    HttpConfiguration config = GlobalConfiguration.Configuration;
    config.Formatters.JsonFormatter.SerializerSettings.Formatting =
        Newtonsoft.Json.Formatting.Indented;
}

关于c# - 如何在 ASP.NET Web API 中为 Json.NET 设置自定义 JsonSerializerSettings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13274625/

相关文章:

c# - 如何在.net core web api中将FromRoute绑定(bind)到QueryObject?

c# - 在 C# 中使用 Json.net 格式化 Json

c# - 扫描证书存储不显示所有证书

c# - 在.cs和 GridView 中构造参数查询SQL - LIKE %

c# - 我的验证器都不起作用

c# - 使用 Visual Studio 形式将信息输入数据库

c# - Web 应用程序 - 解析器错误 - 无法加载类型

c# - 如何将Breeze与通用工作单元和存储库一起使用?

c# - 将 Newtonsoft.Json.Linq.JArray 转换为特定对象类型的列表

c# - 使用根对象属性中的大量数据解析大型 JSON 文件