json.net:非デフォルトコンストラクターを使用してオブジェクトを脱気象化する
JSON.NETは通常、デフォルトのコンストラクターを脱気面化に使用します。 ただし、クラスに他の理由で必要な非デフォルトコンストラクターがある場合でも、json.netを使用して希望するコンストラクターを使用して脱気象化できます。
属性[JsonConstructor]
を使用しています
属性にマークすることです。これにより、json.netは、敏arialialization中にこのコンストラクターを使用するように指示します。 コンストラクターパラメーター名がJSONプロパティ名(case-inssensitive)と一致していることを確認してください。
[JsonConstructor]
<code class="language-csharp">[JsonConstructor] public Result(int? code, string format, Dictionary<string, string> details = null) { // ... }</code>カスタムの作成
JsonConverterソースコードを直接変更できない場合は、カスタム。
を作成できます。
JsonConverter
次に、コンバーターをシリアイザー設定に追加します:
<code class="language-csharp">class ResultConverter : JsonConverter { // ... implementation details ... }</code>
このアプローチは、元のクラスの定義を変更せずに、より脱必要なプロセスをより制御することができます。
は、柔軟なオブジェクトの作成とプロパティの人口を可能にします。以上がJSON.NETを使用して、JSONオブジェクトを非デフォルトコンストラクターでゆるくするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。