0

MVC 4 Web API があります。通常、応答ですべてのプロパティを返す必要がありますが、null 以外の値のみを返したい場所が 1 つあります。Formatters.JsonFormatter.SerializerSettings.NullValueHandlingグローバル ファイルのインスタンスの JsonSerializerSettings を設定することで、どちらの動作もセットアップできますGlobalConfiguration.Configurationが、応答に応じて両方を使用したいと考えています。API コントローラ アクション内からリクエスト スコープを設定する簡単な方法はありますか?

4

2 に答える 2

2

コントローラー アクションを変更して HttpResponseMessage を返すようにすると、特定のアクションに対してコンテンツが返される方法をより詳細に制御できます。例えば

public HttpResponseMessage Get() {
   var foo = new Foo();

   var objectContent = new ObjectContent<Foo>(foo, new JsonFormatter()
                                {SerializerSettings.NullValueHandling = ???})

    return new HttpResponseMessage() {Content = objectContent};
}
于 2012-11-30T20:56:19.213 に答える
0

これはおそらく、javascript のような動的言語を使用してクライアント側で行う方が簡単でしょう。

var keys = Object.keys(json);
for(var i = 0; i < keys.length; i++) {
    var propertyName = keys[i];
    if(json[propertyName] === undefined || v[propertyName] === null) {
           json.remove(propertyName);
    }
}
return json;
于 2012-11-30T20:30:51.937 に答える