从Web API JSON中删除尾随空格

时间:2013-10-15 16:31:34

标签: asp.net-mvc json asp.net-mvc-4 asp.net-web-api

我正在创建一个Web API应用程序,它包含一些遗留系统,其中包含使用nchar而不是nvarchar的所有字符串列的数据库。

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

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

为了实现这一点,我想我可以在WebAPI使用的JSON序列化器中执行此操作来输出对象。我试过看看

GlobalConfiguration.Configuration.Formatters.JsonFormatter

看看我是否能找到办法做到这一点,但我很难找到一个可行的选择。

之前有没有人尝试过这样做?如果没有手动循环遍历字段并且没有产生显着的性能开销,他们如何设法做到这一点?

1 个答案:

答案 0 :(得分:0)

您应该尝试使用Newtonsoft.Json序列化程序。您可以通过将格式设置为Formatting.None:

来配置它以删除所有不必要的空格
var jsonNetSettings = new JsonSerializerSettings
{
    Formatting = Formatting.None,
};

然后从GlobalConfiguration.Configuration.Formatters获取您的jsonFormatter对象并分配新设置:

jsonFormatter.SerializerSettings = jsonNetSettings;