2012-11-20 82 views
8

我使用.Net Web API技術創建HTTP服務,我創建了一些DTO類,並且只需要某個數據子集時,我計劃只填充DTO用這些數據來減少傳輸的數據量。JSON序列化 - 刪除空密鑰

有沒有辦法讓JSON serialiser忽略那些空的數據成員?我意識到[JsonIgnore]和[ScriptIgnore]屬性會忽略特定的成員,但我只想在它們爲空或空的時候忽略它們。

[編輯]

由於LB下面

添加以下到WebApiConfig.cs到在網頁API啓用此:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter; 
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; 

回答

14

Json.Net具有用於此

的設定
var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); 
+0

太棒了;謝謝。我編輯了我的問題以顯示我在Web API中做了什麼。 – Dale