Asp.net mvc 从Web API JSON中删除尾随空格

Asp.net mvc 从Web API JSON中删除尾随空格,asp.net-mvc,json,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc,Json,Asp.net Mvc 4,Asp.net Web Api,我正在创建一个Web API应用程序,它将一些遗留系统封装在下面,这些系统的数据库对所有字符串列使用nchar而不是nvarchar 这显然给了我一个问题,即来自数据库的所有字符串都有一个空白负载,将它们填充到末尾的字段长度 在返回JSON时,我希望确保JSON尽可能小,并修剪字符串。我不想做的是在代码中手动对所有字符串执行TrimEnd() 为了实现这一点,我想我可以在WebAPI用来输出对象的JSON serialiser中实现这一点。我试着在家里四处看看 GlobalConfigurati

我正在创建一个Web API应用程序,它将一些遗留系统封装在下面,这些系统的数据库对所有字符串列使用nchar而不是nvarchar

这显然给了我一个问题,即来自数据库的所有字符串都有一个空白负载,将它们填充到末尾的字段长度

在返回JSON时,我希望确保JSON尽可能小,并修剪字符串。我不想做的是在代码中手动对所有字符串执行
TrimEnd()

为了实现这一点,我想我可以在WebAPI用来输出对象的JSON serialiser中实现这一点。我试着在家里四处看看

GlobalConfiguration.Configuration.Formatters.JsonFormatter
看看我是否能找到一种方法来做到这一点,但我正在努力找到一个可行的选择


以前是否有人尝试过这样做?他们是如何做到这一点的,而无需手动循环字段,也不会产生显著的性能开销?

您应该尝试使用Newtonsoft.Json序列化程序。通过将格式设置为“格式化”,可以将其配置为删除所有不必要的空白。无:

var jsonNetSettings = new JsonSerializerSettings
{
    Formatting = Formatting.None,
};
然后从GlobalConfiguration.Configuration.Formatters获取jsonFormatter对象并分配新设置:

jsonFormatter.SerializerSettings = jsonNetSettings;

并没有被接受的答案,但希望这里有一些东西可以帮助来自请求体的输入模型绑定到控制器动作参数,所以这个设置将如何应用于那个参数。无论如何,我已经尝试了以上你提供的是不适合我。它不会删除多余的空间