8

.Net Web API テクノロジを使用して HTTP サービスを作成しています。いくつかの DTO クラスを作成しました。データの特定のサブセットのみが必要な場合は、DTO にそのデータのみを入力して、データの量を最小限に抑えることを計画しています。転送されました。

JSONシリアライザーが空のデータメンバーを無視するようにする方法はありますか? 特定のメンバーを無視する [JsonIgnore] および [ScriptIgnore] 属性があることは認識していますが、null または空の場合にのみ無視したいと考えています。

[編集]

以下のLBに感謝

Web API でこれを有効にするために、以下を WebApiConfig.cs に追加しました。

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

1 に答える 1

15

Json.Netにはこのための設定があります

var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
于 2012-11-20T11:24:17.117 に答える