Heim >Backend-Entwicklung >Golang >Wie kann ich die Zeitstempelformatierung in der JSON-Kodierung von Go anpassen?
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 }
Wenden Sie diesen benutzerdefinierten Typ auf Ihr Dokument an struct:
type Document struct { Name string Content string Stamp JSONTime Author string }
Beim Marshalling können Sie die Dokumentinstanz dann wie folgt initialisieren:
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
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!