我正在创建一个Web API应用程序,它包含一些遗留系统,其中包含使用nchar而不是nvarchar的所有字符串列的数据库。
这显然给了我一个问题,即来自数据库的所有字符串都有一个空白负载,可以将它们填充到最后的字段长度。
当我返回JSON时,我想确保尽可能缩小JSON并修剪字符串。我不想要做的是在代码中手动对我的所有字符串执行TrimEnd()
。
为了实现这一点,我想我可以在WebAPI使用的JSON序列化器中执行此操作来输出对象。我试过看看
GlobalConfiguration.Configuration.Formatters.JsonFormatter
看看我是否能找到办法做到这一点,但我很难找到一个可行的选择。
之前有没有人尝试过这样做?如果没有手动循环遍历字段并且没有产生显着的性能开销,他们如何设法做到这一点?
答案 0 :(得分:0)
您应该尝试使用Newtonsoft.Json序列化程序。您可以通过将格式设置为Formatting.None:
来配置它以删除所有不必要的空格var jsonNetSettings = new JsonSerializerSettings
{
Formatting = Formatting.None,
};
然后从GlobalConfiguration.Configuration.Formatters获取您的jsonFormatter对象并分配新设置:
jsonFormatter.SerializerSettings = jsonNetSettings;