質問:
ASP.NET Web API で Json.Net シリアル化を使用する場合、特定のアプリケーションのニーズを満たすためにグローバル設定の変更を避けながら、カスタムの日付形式を指定するにはどうすればよいですか?
答え:
推奨されるアプローチは、選択的な書式設定にカスタム JsonConverter を使用することです。 Json.Net は、カスタム書式設定を可能にする IsoDateTimeConverter を提供します。 JsonConverter プロパティを通じて形式を直接設定することはできないため、サブクラスを作成し、そのコンストラクターで目的の形式を指定できます。その後、JsonConverter プロパティを使用して、カスタム コンバータを特定のプロパティに適用できます:
<code class="language-csharp">class CustomDateTimeConverter : IsoDateTimeConverter { public CustomDateTimeConverter() { base.DateTimeFormat = "yyyy'-'MM'-'dd"; } } class ReturnObjectA { [JsonConverter(typeof(CustomDateTimeConverter))] public DateTime ReturnDate { get; set; } }</code>
時刻形式が必要ない場合は、IsoDateTimeConverter のデフォルトの日付形式を直接適用できます。
<code class="language-csharp">[JsonConverter(typeof(IsoDateTimeConverter))] public DateTime ReturnDate { get; set; }</code>
以上がグローバル設定を使用せずに Json.Net で DateTime シリアル化のカスタム日付形式を指定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。