2013-10-15 34 views
1

我正在创建一个Web API应用程序,它包装了一些遗留系统,其下的数据库使用nchar而不是nvarchar作为所有字符串列。从Web API JSON中删除尾随空格

这显然给我一个问题,即来自数据库的所有字符串都有一个空白负载,以便在末尾填充字段长度。

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

为了达到这个目的,我想我可以在WebAPI使用的JSON串行器中输出对象。我试图寻找周围

GlobalConfiguration.Configuration.Formatters.JsonFormatter 

,看看我能找到一种方法来做到这一点,但我在努力寻找一种可行的选择。

有没有人试图做到这一点,他们如何设法做到这一点,没有通过字段手动循环,并没有造成显着的性能开销?

+0

没有接受的答案,但希望这里的东西将有助于http://stackoverflow.com/questions/19271470/deserialize-json-with-auto-trimming-strings –

回答

0

您应该尝试使用Newtonsoft.Json序列化程序。您可以配置它通过格式设置为Formatting.None删除所有不必要的空格:

var jsonNetSettings = new JsonSerializerSettings 
{ 
    Formatting = Formatting.None, 
}; 

然后从GlobalConfiguration.Configuration.Formatters让你jsonFormatter对象,并指定新设置:

jsonFormatter.SerializerSettings = jsonNetSettings;