馃敟 JSON, USO DE JSON EN GOLANG

驴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"]}