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

Wie kann ich die Zeitstempelformatierung in der JSON-Kodierung von Go anpassen?

Patricia Arquette
Freigeben: 2024-12-19 05:51:36
Original
135 Leute haben es durchsucht

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

Zeitstempel für die JSON-Kodierung formatieren

Bei der Arbeit mit Go kann es vorkommen, dass Zeitstempel formatiert werden müssen, die vom Typ time.Time ausgegeben werden. Standardmäßig marshallt JSON die Zeit als RFC3339, was zu einem unerwünschten Format führt.

Zeitstempelformatierung anpassen

Um die Zeitstempelformatierung anzupassen, implementieren Sie die Marshaler-Schnittstelle für Ihren benutzerdefinierten Zeittyp :

import (
    "encoding/json"
    "fmt"
)

type JSONTime time.Time

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

Wenden Sie diesen benutzerdefinierten Typ auf Ihr Dokument an struct:

type Document struct {
    Name        string
    Content     string
    Stamp       JSONTime
    Author      string
}
Nach dem Login kopieren

Beim Marshalling können Sie die Dokumentinstanz dann wie folgt initialisieren:

testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Nach dem Login kopieren

Der resultierende JSON verfügt nun über einen formatierten Zeitstempel in Ihrem gewünschten Format, z. B. „Mai 15, 2014".

Das obige ist der detaillierte Inhalt vonWie kann ich die Zeitstempelformatierung in der JSON-Kodierung 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