Maison >développement back-end >Golang >Comment puis-je personnaliser la sortie d'horodatage JSON dans Go ?
Personnalisation de la sortie JSON pour les horodatages
La sérialisation des structures Go avec des formats de date personnalisés peut être réalisée en adaptant le processus d'encodage à des types de données spécifiques. Dans le cas des horodatages, la représentation JSON par défaut du type time.Time ne répond souvent pas aux exigences de formatage souhaitées.
Pour résoudre ce problème, vous pouvez envelopper time.Time dans un type de données personnalisé qui implémente json.Marshaler interface. Cette interface définit une méthode MarshalJSON, qui vous permet de définir comment le type doit être représenté en JSON.
Par exemple :
type JSONTime time.Time func (t JSONTime) MarshalJSON() ([]byte, error) { // Convert the timestamp to the desired format stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2")) return []byte(stamp), nil }
Dans la structure de votre Document, mettez à jour le champ Stamp pour utiliser JSONTime au lieu de time.Time :
type Document struct { Name string Content string Stamp JSONTime Author string }
Lorsque vous encodez un document à l'aide de json.Marshal ou json.NewEncoder, le champ Stamp sera sérialisé dans votre format personnalisé. Par exemple, au lieu de "2014-05-16T08:28:06.801064-04:00", vous pourriez obtenir "15 mai 2014".
Cette approche offre une plus grande flexibilité dans le contrôle de la manière dont les horodatages sont représentés dans JSON. , vous permettant de les adapter à des besoins spécifiques d'affichage ou d'échange de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!