Im Standard wird das Datum ISO-konform serialisiert (z.B. dueDate=2019-02-21T00:00:00). In manchen Fällen möchte man das Format ändern, oder aber beispielsweise nur das Datum übertragen. Hierfür bietet JSON.NET (welches bis .NET Core kleiner 3.0 die eingesetzte JSON-Library ist) eine sehr einfache Lösung:

public class JsonDateConverter : IsoDateTimeConverter
{
    public JsonDateConverter()
    {
        DateTimeFormat = "yyyy-MM-dd";
    }
}

Nun muss der Converter noch für die gewünschte Eigenschaft konfiguriert werden:

[JsonConverter(typeof(JsonDateConverter))]
public DateTime? DueDate { get; set; }

Ab nun wird das Datum im angegebenen Format serialisiert.

Ab .NET Core 3.0 wird JSON.NET nicht mehr als führende Library eingesetzt, die Integration bleibt jedoch als zusätzliches Package erhalten und JSON.NET somit weiterhin offiziell supported.

Veröffentlicht von Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie-Einstellungen
Auf dieser Website werden Cookie verwendet. Diese werden für den Betrieb der Website benötigt oder helfen uns dabei, die Website zu verbessern.
Alle Cookies zulassen
Auswahl speichern
Individuelle Einstellungen
Individuelle Einstellungen
Dies ist eine Übersicht aller Cookies, die auf der Website verwendet werden. Sie haben die Möglichkeit, individuelle Cookie-Einstellungen vorzunehmen. Geben Sie einzelnen Cookies oder ganzen Gruppen Ihre Einwilligung. Essentielle Cookies lassen sich nicht deaktivieren.
Speichern
Abbrechen
Essenziell (1)
Essenzielle Cookies werden für die grundlegende Funktionalität der Website benötigt.
Cookies anzeigen