JavaScriptSerializer[ScriptIgnore]
にタグを無視させる必要があります。カスタムJavaScriptConverterでこれを行うことができると思います。しかし、よくわかりません。私がする必要があるのは属性を無視することだけであり、残りは基本定義で行うことができます。あなたはここのコードをJavaScriptSerializer
見ることができます。
この例のようなカスタムコンバーターを実装すると、複雑なカスタムオブジェクトグラフが適切にシリアル化されなくなるのではないかと心配しています。
JavaScriptSerializer用のMicrosoftのコードを振り返ると252-253
、コードは次のようになります。
// Ignore all fields marked as [ScriptIgnore]
if (fieldInfo.IsDefined(typeof(ScriptIgnoreAttribute), true /*inherits*/))
continue;
私が本当にバイパスする必要があるのはこの部分だけです。そのコード行をコメントアウトする必要があります。残念ながら、それは実際には不可能なので、プロセス全体のその一部を無視できるようにするための何らかの方法が必要です。
[ScriptIgnore]
そのコード行を無視するにはどうすればよいですか、または属性を無視しないカスタム実装を提供するにはどうすればよいですか?