Cómo convertir correctamente una estructura Go a JSON y manejar errores
¡Hola a todos! Acabo de empezar a estudiar Go y me encontré con un problema al trabajar con JSON. Intento convertir una estructura a JSON, pero no funciona.
Aquí está mi código:
```go
package main
import (
"fmt"
"encoding/json"
)
type Person struct {
Name string
Age int
City string
}
func main() {
p := Person{Name: "Иван", Age: 30, City: "Москва"}
// Intento convertir a JSON
result := json.Marshal(p)
fmt.Println(result)
}
```
En lugar de un JSON normal, obtengo una salida extraña como `[123 34 78 97...]`. Esperaba ver algo como `{"Name":"Иван","Age":30,"City":"Москва"}`.
¿Por qué sucede esto? Leí la documentación, pero está todo escrito de manera complicada. ¿Quizás necesito agregar algunas etiquetas? ¿O estoy llamando a la función incorrectamente? Expliquen, por favor, cómo serializar correctamente una estructura a JSON en Go.
Otra pregunta: ¿qué hacer si la estructura tiene estructuras anidadas o slices? ¿Cómo manejar los campos privados? ¿Y cómo manejar los errores?