馃 Manejo de Archivos, Uso de archivos JSON.

Como se menciono anteriormente, JSON es una forma efectiva de almacenar informaci贸n, un ejemplo de esto es almacenar configuraci贸n.

Una ventaja de declarar la configuraci贸n dentro de un archivo, es que dicho archivo de configuraci贸n puede ser ignorado del repositorio del proyecto (.gitignore en GIT), de forma que informaci贸n como credenciales no formen parte de dicho repositorio.

# archivo .gitignore
# ignorar configuraci贸n del programa
configuracion.json

Supongamos que tenemos las credenciales en un credenciales.json.

{
    "usuario": "luis",
    "password": "passwordDeLuis"
}

El programa lucir铆a as铆.

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
)

type Credenciales struct {
    Usuario  string `json:"usuario"`
    Password string `json:"password"`
}

func main() {
    // abrir archivo "configuracion.json"
    manejadorDeArchivo, err := ioutil.ReadFile("credenciales.json")
    if err != nil {
        log.Fatal(err)
    }
    // preparar contenedor de las credenciales
    c := Credenciales{}
    // decodificar el contenido del json sobre la estructura
    err = json.Unmarshal(manejadorDeArchivo, &c)
    if err != nil {
        log.Fatal(err)
    }
    // validar credenciales
    if c.Usuario == "luis" && c.Password == "passwordDeLuis" {
        fmt.Println("Las credenciales son correctas")
    } else {
        fmt.Println("Las credenciales son incorrectas")
    }
}

Descripci贸n del programa.

  1. Primero preparamos una estrucutra para recibir las credenciales.

    type Credenciales struct {
        Usuario  string `json:"usuario"`
        Password string `json:"password"`
    }
    
  2. Leer el contenido del archivo credenciales.json.

    manejadorDeArchivo, err := ioutil.ReadFile("credenciales.json")
    
  3. Preparar una instancia de la estructura credenciales.

    c := Credenciales{}
    
  4. Decodificar el contenido json del archivo dentro de la instancia c.

    err = json.Unmarshal(manejadorDeArchivo, &c)
    
  5. Validamos las credenciales.

    if c.Usuario == "luis" && c.Password == "passwordDeLuis" {
        fmt.Println("Las credenciales son correctas")
    } else {
        fmt.Println("Las credenciales son incorrectas")
    }
    

Si ejecutamos el programa, podremos comprobar que las credenciales son las correctas.

$ go run main.go
Las credenciales son correctas
Manejo de archivos, Borrar un archivo. Expresiones Regulares, Introducci贸n.
comments powered by Disqus