python

JSON y Python: codificar y decodificar

JSON se ha convertido en un estándar para el intercambio de datos, sobre todo en la web, pero también funciona en otras plataformas.

Debido a su flexibilidad y simplicidad está presente en la mayoría de lenguajes de programación.

Trabajar con JSON en Python 3

Python 3 no podría ser la excepción, por ello es que hoy veremos cómo:

  1. Codificar diccionarios, listas, enteros, flotantes, etcétera con Python 3 y JSON
  2. Imprimir el JSON codificado o escribirlo en un archivo
  3. Decodificar una cadena de JSON
  4. Leer un archivo JSON y decodificarlo

Todo ello únicamente usando el módulo de json en Python 3, el cual ya viene incluido por defecto.

Instalar Python 3

Recuerda instalar Python de acuerdo a la plataforma que más te guste:

Codificar JSON con Python

Para codificar un dato a su representación JSON importamos el módulo json y llamamos a json.dumps (dumps porque es dump string, es decir, una simple cadena), lo cual devuelve una cadena.

El método json.dumps recibe (en su forma más simple) un argumento de cualquier tipo; puede ser una cadena, un diccionario, una lista; una lista de diccionarios, un diccionario con números, un diccionario con listas, etcétera.

En el código que aparece a continuación podemos ver múltiples ejemplos de codificación con JSON en Python:

See the gist on github.

Ahora podemos enviar la cadena, guardarla, imprimirla, etcétera.

Prueba el ejemplo aquí.

Escribir a archivo JSON con Python

El módulo json en Python proporciona el método json.dump (sin s al final) que recibe el manejador de un archivo y la cadena JSON a escribir.

Antes de llamarlo hay que abrir un archivo (en donde se guardan los datos) en modo escritura, y dentro llamar a json.dump.

See the gist on github.

Podemos apreciar que no es necesario codificar a JSON con json.dumps; y que solamente se llama a json.dump pasando el nombre del archivo y el nombre de la variable.

Probar ejemplo.

Decodificar cadena JSON con Python

Ahora veamos cómo parsear una cadena JSON en Python; esta cadena podría venir del consumo de una API o de cualquier otro lugar.

Para decodificar una cadena usamos json.loads, que lee una cadena y devuelve un tipo de dato “no definido”.

Es decir, devuelve lo que tenga la cadena JSON. Si la cadena tiene una lista devuelve una lista, si tiene un diccionario devuelve un diccionario, etcétera.

Cuando encuentra datos anidados (diccionarios dentro de diccionarios, diccionarios dentro de listas, etcétera) decodifica todos, es decir, no se detiene en el primer nivel.

See the gist on github.

Probar ejemplo.

Leer y parsear contenido de un archivo JSON con Python

Para decodificar el contenido de un archivo JSON se utiliza el método json.load.

Similar a los métodos anteriores este recibe un manejador de archivo que debemos abrir en modo lectura; y devuelve el JSON decodificado.

Es decir, no lee una cadena, lee el archivo. No hay que confundir json.load con json.loads.

See the gist on github.

Dentro del archivo JSON hay un diccionario simple, pero podría estar cualquier cadena JSON válida. Abrimos el archivo y leemos con json.load; después de ello podemos usar la variable como un tipo nativo dentro de Python.

Probar ejemplo.

Conclusión

En este tutorial vimos cómo trabajar con JSON y Python 3. Codificamos y decodificamos; tanto a cadenas como a archivos.

Recuerda que el JSON puede enviarse y recibirse por distintos medios, la parte crucial es decodificarlo y codificarlo.

En caso de que quieras más tutoriales de Python haz click aquí.

Como referencia dejo un enlace a la documentación oficial.

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

4 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

4 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

5 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.