2013-10-15 64 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;