最近、APIプロジェクトをASP.NET Core 3に更新しました。それ以来、[JsonIgnore]
属性が機能していません:
public class Diagnostico
{
[JsonIgnore]
public int TipoDiagnostico { get; set; }
[JsonIgnore]
public int Orden { get; set; }
[JsonIgnore]
public DateTime? FechaInicio { get; set; }
public string TipoCodificacion { get; set; }
public string Codigo { get; set; }
public string Descripcion { get; set; }
}
クラスのすべてのプロパティがシリアル化されています。 APIエンドポイントは.NET Core 3にありますが、すべてのロジックは.NET Standard 2.1にあります。シリアライザがNewtonsoft.Json
からSystem.Text.Json
。このパッケージは.NET Standard 2.1では使用できません(.NET Coreでのみ機能します)。したがって、[JsonIgnore]
使用している.NET標準プロジェクト内のモデルNewtonsoft.Json
。
.Net Standardプロジェクトの場合、nugetからSystem.Text.Jsonパッケージを取得します。
https://www.nuget.org/packages/System.Text.Json
そのため、Newtonsoft.Json.JsonIgnoreAttributeの代わりにSystem.Text.Json.Serialization.JsonIgnoreAttributeを使用できます。