Heim >Backend-Entwicklung >C++ >Wie spezifiziere ich benutzerdefinierte Datumsformate für die DateTime-Serialisierung in Json.Net ohne globale Einstellungen?

Wie spezifiziere ich benutzerdefinierte Datumsformate für die DateTime-Serialisierung in Json.Net ohne globale Einstellungen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-16 00:01:47561Durchsuche

How to Specify Custom Date Formats for DateTime Serialization in Json.Net without Global Settings?

Json.Net benutzerdefiniertes DateTime-serialisiertes Datumsformat

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn