Heim >Backend-Entwicklung >C++ >Wie spezifiziere ich benutzerdefinierte Datumsformate für die DateTime-Serialisierung in Json.Net ohne globale Einstellungen?
Frage:
Wie kann man bei Verwendung der Json.Net-Serialisierung in der ASP.NET-Web-API ein benutzerdefiniertes Datumsformat angeben und gleichzeitig die Änderung globaler Einstellungen vermeiden, um den Anforderungen einer bestimmten Anwendung gerecht zu werden?
Antwort:
Der empfohlene Ansatz besteht darin, einen benutzerdefinierten JsonConverter für die selektive Formatierung zu verwenden. Json.Net bietet einen IsoDateTimeConverter, der eine benutzerdefinierte Formatierung ermöglicht. Da das Format nicht direkt über die JsonConverter-Eigenschaft festgelegt werden kann, können Sie eine Unterklasse erstellen und in ihrem Konstruktor das gewünschte Format angeben. Anschließend kann ein benutzerdefinierter Konverter mithilfe der JsonConverter-Eigenschaft auf eine bestimmte Eigenschaft angewendet werden:
<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>
Wenn Sie das Zeitformat nicht benötigen, können Sie direkt das Standarddatumsformat von IsoDateTimeConverter anwenden:
<code class="language-csharp">[JsonConverter(typeof(IsoDateTimeConverter))] public DateTime ReturnDate { get; set; }</code>
Das obige ist der detaillierte Inhalt vonWie spezifiziere ich benutzerdefinierte Datumsformate für die DateTime-Serialisierung in Json.Net ohne globale Einstellungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!