4

ASP.NET MVC フレームワークの JsonResult を介して出力する必要があるクラス ライブラリがあります。(JsonResult は JsonSerializer を使用して出力を生成します。)

ドキュメントを読んで、パブリック プロパティ/フィールドを配置すると、XML シリアライザーの[ScriptIgnore]ようにシリアル化されないことがわかりました。[XmlIgnore]

[XmlElement("elementname")]出力シリアル化でフィールド/プロパティの名前を絶対的に指定する と同等の機能が必要です。Elementsという名前のフィールドにシリアル化する必要があるというフィールドがありelementsます。

デフォルトの JsonSerializer を使用してこれを達成するにはどうすればよいですか?

ありがとう、デビッド

4

3 に答える 3

2

DataContractJsonSerializerクラスを使用していますか?

もしそうなら ...

Elementsこの属性をフィールドに追加します

[DataMember(Name = "elements")] 

This SO questionは、JsonScriptSerializer の使用を JsonDataContractSerializer にオーバーライドする方法を提案しています。

親切、

ダン

于 2009-12-11T14:54:18.763 に答える
1

残念な答えは、あなたはそれをすることができないということです。そうは言っても、私は現在、実行時にJsonIgnoreやJsonPropertyなどの属性からのルールに従う匿名オブジェクトを生成することによって任意のオブジェクトを拡張するモジュールを開発しています。何かあったらもっと投稿します。

于 2009-12-14T18:11:57.823 に答える