Conversión entre JSON y objetos en Go con Marshal y Unmarshal
Clase 25 de 28 • Curso de Go
Contenido del curso
- 8

Uso de la sentencia switch en Go para selección condicional
07:16 - 9

Declaración y uso básico de arreglos en Go
06:56 - 10

Creación y uso de slices dinámicos en Go
08:26 - 11

Mapas en Go: creación, acceso y manipulación de datos clave-valor
09:38 - 12

Cómo crear y usar funciones personalizadas en Go
07:09 - 13

Funciones con múltiples valores de retorno en Go
07:43 - 14

Funciones variádicas en Go para múltiples parámetros
07:11 - 15

Funciones recursivas en Go para cálculos matemáticos
06:12 - 16

Punteros en Go para optimizar rendimiento del sistema
05:20 - 17

Runas y caracteres Unicode en Go: optimización de memoria
06:41 - 18

Declaración y uso de estructuras de datos en Go
09:07 - 19

Implementación de enumeradores en Go para controlar estados
09:32
- 20

Errores personalizados en Go para mejor depuración
08:25 - 21

Go routines y channels: programación asíncrona en Go
10:53 - 22

Operador select para controlar Go routines y canales en Go
06:44 - 23

Implementación de timeouts en Go con select y time.After
05:50 - 24

Implementación práctica de workers con canales y goroutines en Go
09:43
Dominar la manipulación de datos en formato JSON es vital en el desarrollo de APIs, aplicaciones y proyectos de software modernos. Aprender qué es JSON y cómo trabajar con él en el lenguaje de programación Go puede facilitar mucho tus tareas de codificación. Conocerás cómo realizar conversiones de objetos a JSON utilizando los métodos Marshal y de JSON a objetos con el método Unmarshal.
¿Qué es JSON y por qué usarlo con Go?
JSON (JavaScript Object Notation) es uno de los formatos preferidos para intercambiar datos debido a su sencillez y flexibilidad. Utilizar JSON con Go te permite:
- Organizar claramente tus datos.
- Facilitar la transferencia entre servidor y cliente.
- Tener una representación fácil de leer y escribir.
¿Cómo convertir un objeto a formato JSON con Marshal?
En Go utilizamos estructuras (struct) y asignamos etiquetas especiales a cada campo para representar cómo se verá en JSON:
type Persona struct {
Nombre string `json:"nombre"`
Edad int `json:"edad"`
Email string `json:"email"`
}
persona := Persona{
Nombre: "Amina Espinoza",
Edad: 40,
Email: "AminaEspinoza@Platzi.com",
}
jsonData, err := json.Marshal(persona)
if err != nil {
fmt.Println(err)
}
fmt.Println("Archivo JSON:", string(jsonData))
Aquí, cada etiqueta asegura compatibilidad total entre tus campos en Go y el archivo JSON generado. Si algún dato no encaja correctamente, Go genera un error fácilmente identificable.
¿Cómo construir objetos desde JSON usando Unmarshal?
Para convertir una cadena JSON en objeto utilizamos el método inverso (Unmarshal) con esta sencilla sintaxis:
jsonString := `{
"nombre": "Amina Espinoza",
"edad": 40,
"email": "AminaEspinoza@Platzi.com"
}`
var persona Persona
err := json.Unmarshal([]byte(jsonString), &persona)
if err != nil {
fmt.Println(err)
}
fmt.Println(persona)
Este método facilita enormemente transformar datos recibidos en JSON en objetos dentro de nuestros programas Go.
¿Qué ventajas tiene el manejo de JSON en Go?
Utilizando los métodos Marshal y Unmarshal tienes claras ventajas:
- Conversión directa y efectiva de información.
- Código limpio y estructurado, fácil de mantener.
- Manejo explícito de errores durante conversiones.
- Mayor control sobre cómo se representan tus datos.
Explorar y practicar estos métodos te ayudará a consolidar tus conocimientos en Go, fortaleciendo tus proyectos actuales y futuros. ¿Ya has utilizado JSON con Go en tus proyectos? ¡Comparte tu experiencia o dudas sobre el manejo práctico de estos métodos!