función time.Time.MarshalJSON() en Golang con ejemplos

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *