Codificar y decodificar JSON en JavaScript y Node JS

Codificar y decodificar JSON con JavaScript

JSON en JavaScript sirve para muchísimas cosas. En los casos más comunes, al hacer peticiones AJAX viene bien codificar los datos como JSON antes de enviarlos.

Por otro lado, si tenemos a JavaScript del lado del servidor, igualmente podríamos decodificar los datos que un cliente mande; o codificarlos antes de hacer otra petición.

Codificar y decodificar JSON en JavaScript y Node JS
Codificar y decodificar JSON en JavaScript y Node JS

Otros usos, que si bien no son los mejores, son para comparar objetos en profundidad.

Hoy veremos cómo codificar y decodificar JSON en JavaScript sin usar eval ni librerías extras.

Requisitos y recomendaciones

Mira aquí cómo instalar Node.JS. Si quieres, puedes descargar los ejemplos aquí mostrados y ejecutarlos con node archivo.js.

También recomiendo leer la diferencia entre var y let, para que sepas por qué usamos let.

Codificar objetos de JavaScript a JSON

De hecho, JSON significa JavaScript Object Notation, me parece. O sea que nace de JavaScript y su representación tan simple pero eficaz de representar todo tipo de objetos complejos.

En JavaScript podemos codificar todo tipo de datos; desde los primitivos hasta los arreglos u objetos. Para esto, llamamos a JSON.stringify y le pasamos la variable, así de simple. Aquí vemos algunos ejemplos:

Se llama a console.log para imprimir los resultados, pero recuerda que es para ejemplificar. De ahí bien se podría guardar el resultado en otra variable, así:

let codificado = JSON.stringify(valor)

Como se puede observar, la representación en JavaScript y en JSON no cambia casi en nada, únicamente en los espacios; ya que al codificarlo se eliminan los espacios y saltos de línea; de ahí sigue siendo lo mismo.

Decodificar JSON en JavaScript

Para decodificar una cadena o dato de JSON en JavaScript se llama a JSON.parse. Algunas veces se dice que igualmente se puede usar eval, pero no, porque es un riesgo de seguridad que trataré en otro post.

El punto es que se llama a JSON.parse, función que devolverá una variable cuyo tipo no sabemos, y depende de lo que la cadena en JSON represente.

Veamos algunos ejemplos:

En el primer ejemplo, devuelve un objeto. En el segundo, un arreglo. No debemos preocuparnos, pues JavaScript se encarga de definir el tipo de dato de la variable. Ahí lo hicimos con objetos y arreglos, pero puede ser igualmente con primitivos.

Otros usos de JSON en JavaScript

Si codificamos a dos objetos como JSON, los podemos comparar como cadenas y ver si son iguales o no. Tal vez sea un poco lento, pero funciona.

Por cierto, aunque los ejemplos de aquí parezcan sencillos, en la vida real la mayoría de API’s que usan JSON se comunican de esta manera.

Ya vimos que con JavaScript podemos convertir a JSON cadenas, números, objetos, arreglos y más cosas.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.