1

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

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

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

为了实现这一点,我想我可以在 WebAPI 用来输出对象的 JSON 序列化器中做到这一点。我试过环顾四周

GlobalConfiguration.Configuration.Formatters.JsonFormatter

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

以前有没有人尝试过这样做,他们是如何在没有手动循环字段并且没有产生显着性能开销的情况下设法做到这一点的?

4

1 回答 1

0

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

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

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

jsonFormatter.SerializerSettings = jsonNetSettings;
于 2013-10-16T08:42:18.293 回答