Heim >Backend-Entwicklung >Golang >Wie kann ich die Zeitstempelformatierung in den JSON-Antworten von Go anpassen?
Zeitstempel in JSON-Antworten formatieren
Das Zeitpaket von Go stellt einen time.Time-Typ zur Darstellung von Zeitstempeln bereit. Wenn Sie jedoch ein time.Time-Objekt mit json.NewEncoder in JSON kodieren, wird es in einem maschinenfreundlichen Format formatiert. Wenn Sie das Zeitstempelformat in JSON-Antworten anpassen möchten, führen Sie die folgenden Schritte aus:
Zeitstempelformat anpassen
Erstellen Sie einen benutzerdefinierten Typ, der time.Time einbettet und implementiert Marshaler-Schnittstelle.
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 }
Dieser Code definiert einen Typ, der den Zeitstempel als „Mo Jan.“ formatiert _2".
Benutzerdefinierten Zeittyp verwenden
Verwenden Sie in Ihrer Dokumentstruktur den JSONTime-Typ für das Zeitstempelfeld:
type Document struct { Name string Content string Stamp JSONTime Author string }
Beispielcode
Initialisieren Sie das Dokument mit Ihrem benutzerdefinierten Code Zeitstempel:
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Jetzt können Sie die Antwort mit dem benutzerdefinierten Zeitstempelformat senden:
sendResponse(testDoc, w,r)
Hinweis:
Alternativ Sie kann eine Bibliothek wie timelib verwenden, um Zeitstempelformate einfach anzupassen. Es stellt eine MarshalJSON-Methode für time.Time-Werte bereit.
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!