驴C贸mo usar JSON en Go?
Para interactuar con JSON en Golang se echa mano de la librer铆a econding/json
.
Supongamos que tenemos una estructura que deseamos codificar.
type Pais struct {
Nombre string
Habitantes int
Capital string
Idiomas []string
}
Vamos a crear una instancia de esta estructura correspondiente al pa铆s de Canad谩.
p := Pais{
Nombre: "Canada",
Habitantes: 37314442,
Capital: "Ottawa",
Idiomas: []string{"Ingl茅s", "Frances"},
}
Ahora vamos a codificar esta estructura utilizando json.Marshal
de la librer铆a encoding/json
.
datosJson, err := json.Marshal(p)
if err != nil {
log.Fatal(err)
}
El programa completo lucir铆a algo as铆…
package main
import (
"encoding/json"
"fmt"
"log"
)
type Pais struct {
Nombre string
Habitantes int
Capital string
Idiomas []string
}
func main() {
p := Pais{
Nombre: "Canada",
Habitantes: 37314442,
Capital: "Ottawa",
Idiomas: []string{"Ingl茅s", "Frances"},
}
datosJson, err := json.Marshal(p)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(datosJson))
}
Si ejecutamos el programa, podremos ver que la impresi贸n del json es correcta.
> go run main.go
{"Nombre":"Canada","Habitantes":37314442,"Capital":"Ottawa","Idiomas":["Ingl茅s","Frances"]}