JSON o (JavaScript Object Notation) es una de las formas que tiene Javascript de trabajar con objetos, pero…
¿Qué es un objeto?
Al iniciar estas publicaciones una cosa que aclaré es que estaba enfocado a personas que nunca habían programado en Javascript o cualquier otro lenguaje. Por tanto lo primero es entender qué es un objeto.
No vamos a profundizar en objetos, clases y todo con lo que hay a su alrededor, de modo que incluso hay libros enfocados solamente en objetos, por tanto trataré hacer la explicación lo más simple posible.
Imaginate que quisiéramos guardar información de un gato; su nombre, su peso y si está castrado. Entonces haríamos algo como esto:
let nombre = "Mikorin";
let peso = 5;
let castrado = true;
Hasta ahí todo bien, sin embargo, ¿qué pasaría si nosotros quisiéramos guardar al gato en sí, con toda su información dentro de una variable?
Para ello vamos a utilizar un objeto, un JSON:
let gato = {
nombre: "Mikorin",
peso: 5,
castrado: true
};
Como podemos ver en el ejemplo anterior, un objeto nos permite moldear la información de la forma en que necesitamos.
Propiedades de un JSON
Las propiedades hacen referencia a la información de un objeto. En la publicación pasada vimos que los arrays tienen una propiedad llamada length que nos devuelve la cantidad de posiciones.
Entonces en el caso de nuestro objeto gato las propiedades son justamente la información del felino, es decir; su nombre, peso y si está castrado.
Si quisiéramos acceder al nombre del gato deberíamos hacerlo mediante el punto (.):
let gato = {
nombre: "Mikorin",
peso: 5,
castrado: true
};
console.log("El nombre del gato es: " + gato.nombre);
Métodos de un JSON
Los métodos son comportamientos de un objeto. En muchos casos interactúan con las propiedades del mismo, incluso modificando sus valores.
let gato = {
nombre: "Mikorin",
peso: 5,
castrado: true,
maullar(){
console.log("Miau");
},
comer(){
this.peso += 0.5;
},
jugar(){
this.peso -= 0.5;
}
};
Como podemos ver los métodos comer() y jugar() incrementan y decrementan respectivamente el valor de la propiedad peso:
gato.maullar();
gato.comer();
console.log(gato.nombre + " ahora pesa: " + gato.peso);
gato.jugar();
console.log(gato.nombre + " ahora pesa: " + gato.peso);