良い一日!
現在、次のコードで Newtonsoft Json Serializer を使用しています。
private string serializeAndIgnoreEmail(UserMembership obj)
{
var json = JsonConvert.SerializeObject(obj, Formatting.Indented,
new JsonSerializerSettings() { ContractResolver = new DocumentIdContractResolver() });
return json;
}
private class DocumentIdContractResolver : CamelCasePropertyNamesContractResolver
{
protected override List<MemberInfo> GetSerializableMembers(Type objectType)
{
return base.GetSerializableMembers(objectType).Where(o => o.Name != "Email").ToList();
}
}
オブジェクトをシリアル化する必要があるたびに、'serializeAndIgnoreEmail' メソッドを呼び出します。各プロパティのコンテンツを暗号化されたバージョンに置き換えたいのですが、どこでこれを行うべきかわかりません。
私の推測では、「DocumentIdContractResolver」のメソッドをオーバーライドすることになりますが、非常に多くの CreateBlahBlahBlah があるため、それらを操作するのは非常に困難です。
これは、ContractResolver の変更を続行するための正しいアプローチですか、それとも何か他の方法を試す必要がありますか?
ありがとうございました!