JSONのシリアライズで特定のプロパティを除外する
ASP.NET coreのModelデータをJSONとして出力する際に、特定のプロパティを除外する方法です。
目次
- コード
- 実行結果
- 参考リンク
コード
JSONとして出力したくないプロパティに属性「JsonIgnore」を付加することで、目的の動作が可能となっています。
モデル
using Newtonsoft.Json;
public class Sample
{
public int Id { get; set; }
public string Name { get; set; }
[JsonIgnore]
public int Score { get; set; }
}
コントローラー
public class SampleController : Controller
{
[HttpGet]
public Sample GetSampleData()
{
var data = new Sample { Id = 1, Name = "a1", Score = 50 };
return data;
}
}
実行結果
上記コントローラーのGetSampleData()をリクエストで呼び出すと、クライアント側に送信されるデータは以下のようになります。
上記はASP.NET coreの場合ですが、coreじゃない方は、属性に「System.Web.Script.Serialization.ScriptIgnore」を追加するみたいです。