Formatage des horodatages pour l'encodage JSON
Lorsque vous travaillez avec Go, il peut être nécessaire de formater les horodatages générés par le type time.Time. Par défaut, JSON rassemble l'heure au format RFC3339, ce qui entraîne un format indésirable.
Personnalisation du formatage de l'horodatage
Pour personnaliser le formatage de l'horodatage, implémentez l'interface Marshaler pour votre type d'heure personnalisé. :
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 }
Appliquez ce type personnalisé à votre document struct:
type Document struct { Name string Content string Stamp JSONTime Author string }
Lors du marshaling, vous pouvez ensuite initialiser l'instance de document comme :
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Le JSON résultant aura désormais un horodatage formaté dans le format souhaité, tel que "Mai 15, 2014".
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!