c# - 如何为 Web API 中的所有数据成员将 EmitDefaultValue 全局设置为 false?

标签 c# asp.net-mvc web-services asp.net-web-api

我正在使用 Web API 并设置了以下属性,以便在序列化成员时不显示默认值:

 [DataMember(EmitDefaultValue = false)]
        public string EventName { get; set; }

我总共有大约 20 个 DataContracts 和 100 个属性作为 DataMembers,那么如何才能将所有 EmitDefaultValue 全局设置为 false?

我希望我不必使用反射来编写自己的逻辑!

最佳答案

在您的 App_Start 文件夹中将其添加到 WebApiConfig

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Formatters.JsonFormatter.SerializerSettings =
            new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };

关于c# - 如何为 Web API 中的所有数据成员将 EmitDefaultValue 全局设置为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16981423/

相关文章:

c# - 如果文本框为空,则假设变量 = 0 C#

c# - 将 ZPL 发送到 Zebra 打印机的 .NET 代码

asp.net-mvc - 防伪token功能安全吗?

javascript - Asp.net MVC 5 将所有脚本 bundle 在一个文件中

javascript - 在 @Url.Action 中调用 JavaScript 函数作为参数

java - 当我在 Tomcat 上运行 Web 应用程序时,Tomcat 被停止

c# - 如何在我的 Web 服务 POST 方法中反序列化 JSON

c# - Linq 到实体投影 : is this projection inefficient?

c# - 如何牢牢保护web.config

java - 从 Android 调用使​​用 Spring Security 保护的 REST Web 服务