Estoy tratando de convertir una estructura Go a JSON usando el paquete json
pero todo lo que obtengo es {}
. Estoy seguro de que es algo totalmente obvio, pero no lo veo.Conversión Ir estructura a JSON
package main
import (
"fmt"
"encoding/json"
)
type User struct {
name string
}
func main() {
user := &User{name:"Frank"}
b, err := json.Marshal(user)
if err != nil {
fmt.Printf("Error: %s", err)
return;
}
fmt.Println(string(b))
}
Entonces cuando intento ejecutarlo me sale esto:
$ 6g test.go && 6l -o test test.6 && ./test
{}
Tenga en cuenta que puede agregar '\' json: "nombre" \ '' al final de la definición del campo struct para conservar el nombre del resultado. – Dustin
Yo veo. Me gusta el lenguaje, pero creo que algunos elementos sintácticos van más allá. Si el nombre de un miembro de la estructura determina el comportamiento, esto es simplemente incorrecto. – magiconair
Bueno, hacer que el nombre determine el comportamiento se puede debatir si es bueno o malo :), pero es seguro que sea fácil saber si un campo se exporta o no sin tener que verificar en otro lugar. – Olof