Heim > Backend-Entwicklung > Golang > Wie kann ich die Zeitstempelformatierung in den JSON-Antworten von Go anpassen?

Wie kann ich die Zeitstempelformatierung in den JSON-Antworten von Go anpassen?

Susan Sarandon
Freigeben: 2024-12-23 22:46:14
Original
749 Leute haben es durchsucht

How to Customize Timestamp Formatting in Go's JSON Responses?

Formatieren von Zeitstempeln in ausgehendem JSON mit Time.Time

In Go, wenn Sie einen time.Time-Typ als Teil einer JSON-Antwort senden, Oft ist es wünschenswert, den Zeitstempel in ein gewünschtes Format statt in das Standardformat ISO 8601 zu formatieren. Um dies zu erreichen, können Sie die folgenden Techniken anwenden:

Benutzerdefiniertes Marshalling und Unmarshaling

Die Marshall-Schnittstelle kann durch benutzerdefinierte Typen implementiert werden, um deren JSON-Darstellung zu bestimmen. Ebenso kann die Unmarshaler-Schnittstelle verwendet werden, um das Parsen von JSON-Daten in benutzerdefinierte Typen zu steuern. Für time.Time definieren wir einen JSONTime-Typ, der MarshalJSON implementiert:

type JSONTime time.Time

func (t JSONTime) MarshalJSON() ([]byte, error) {
    // Format the time in the desired format
    stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2"))
    return []byte(stamp), nil
}
Nach dem Login kopieren

Aktualisieren des Dokumenttyps

Ändern Sie im Dokumenttyp das Feld „Stempel“. Geben Sie JSONTime ein:

type Document struct {
    ...
    Stamp       JSONTime
    ...
}
Nach dem Login kopieren

Beispiel Verwendung

Jetzt beim Initialisieren des Testdokuments:

testDoc := model.Document{
    ...
    Stamp:       JSONTime(time.Now()),
    ...
}
Nach dem Login kopieren

Der Zeitstempel wird gemäß dem angegebenen Format formatiert, wenn er als JSON codiert ist:

{
  ...
  "Stamp": "May 15, 2014"
  ...
}
Nach dem Login kopieren

Dieser Ansatz bietet Flexibilität und Kontrolle darüber, wie Zeitstempel in JSON-Antworten formatiert werden, und ermöglicht so eine Anpassung entsprechend spezifischer Anforderungen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Zeitstempelformatierung in den JSON-Antworten von Go anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage