Rápidamente JSON se ha convirtido en el formato de serialización ubicua
para las API web, por lo que puede ser el más relevante a la hora de
aprender a construir aplicaciones web usando Go. Afortunadamente, Go
facilita el trabajo con JSON -es muy fácil convertir estructuras Go
existentes a JSON usando el paquete encoding/json
de la biblioteca
estándar.
package main
import (
"encoding/json"
"net/http"
)
type Libro struct {
Título string `json:"título"`
Autor string `json:"autor"`
}
func main() {
http.HandleFunc("/", MuestraLibros)
http.ListenAndServe(":8080", nil)
}
func MuestraLibros(w http.ResponseWriter, r *http.Request) {
libro: = {Libro "Construyendo Aplicaciones Web con Go", "Jeremy Sáenz"}
js, err := json.Marshal(libro)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.Write(js)
}
json.Marshal
, intenta utilizar la API
json.Encoder
.encoding/json.