En el lenguaje Go, los paquetes de tiempo brindan funcionalidad para determinar y ver el tiempo. La función MarshalJSON() en el lenguaje Go se usa para implementar la interfaz json.Marshaler . Y el tiempo aquí es una string entre comillas que está en formato RFC 3339 junto con la precisión de subsegundo adjunta si está disponible. Además, esta función se define en el paquete de tiempo. Aquí, debe importar el paquete «tiempo» para usar estas funciones.
Sintaxis:
func (t Time) MarshalJSON() ([]byte, error)
Aquí, «t» es el tiempo indicado y dos valores de tipo «byte» y «error» se devuelven como salida en este método.
Valor de retorno: devuelve un segmento de bytes que representa la codificación JSON y también devuelve un error, pero si no hay errores, se devuelve «nil».
Ejemplo 1:
// Golang program to illustrate the usage of // Time.MarshalJSON() function // Including main package package main // Importing fmt and time import "fmt" import "time" // Calling main func main() { // Defining t for MarshalJSON method t := time.Date(2014, 11, 10, 14, 30, 12, 05, time.UTC) // Calling MarshalJSON() method encoding, error := t.MarshalJSON() // Prints JSON's encoding fmt.Printf("JSON's encoding: %v\n", encoding) // Prints error fmt.Printf("Error occurred: %v\n", error) }
Producción:
Codificación de JSON: [34 50 48 49 52 45 49 49 45 49 48 84 49 52 58 51 48 58 49 50 46 48 48 48 48 48 48 48 48 53 90 34]
Error ocurrido: <nil>
Ejemplo 2:
// Golang program to illustrate the usage of // Time.MarshalJSON() function // Including main package package main // Importing fmt and time import "fmt" import "time" // Calling main func main() { // Defining t for MarshalJSON method t := time.Date(2022, 45, 67, 88, 67, 76, 903, time.UTC) // Calling MarshalJSON() method encoding, error := t.MarshalJSON() // Prints JSON's encoding fmt.Printf("JSON's encoding: %v\n", encoding) // Prints error fmt.Printf("Error occurred: %v\n", error) }
Producción:
Codificación de JSON: [34 50 48 50 53 45 49 49 45 48 57 84 49 55 58 48 56 58 49 54 46 48 48 48 48 48 48 57 48 51 90 34]
Error ocurrido: <nil>
Aquí, la «t» indicada en el código anterior tiene valores que están fuera del rango habitual pero se normalizan durante la conversión.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA