Formatage des horodatages dans les réponses JSON
Le package time de Go fournit un type time.Time pour représenter les horodatages. Cependant, lors de l'encodage d'un objet time.Time en JSON à l'aide de json.NewEncoder, il est formaté dans un format convivial pour les machines. Si vous souhaitez personnaliser le format d'horodatage dans les réponses JSON, suivez les étapes suivantes :
Personnalisation du format d'horodatage
Créez un type personnalisé qui intègre time.Time et implémente le Interface Marshaler.
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 }
Ce code définit un type qui formate l'horodatage comme "Mon Jan _2".
Utilisation du type d'heure personnalisé
Dans votre structure de document, utilisez le type JSONTime pour le champ d'horodatage :
type Document struct { Name string Content string Stamp JSONTime Author string }
Exemple de code
Initialisez le document avec votre personnalisation timestamp :
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Maintenant, vous pouvez envoyer la réponse avec le format d'horodatage personnalisé :
sendResponse(testDoc, w,r)
Remarque :
Alternativement, vous peut utiliser une bibliothèque comme timelib pour personnaliser facilement les formats d'horodatage. Il fournit une méthode MarshalJSON pour les valeurs time.Time.
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!