Trabajar con JSON en Python 3

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
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:

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.

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.

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.

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.

Dejar un comentario