Python Leer y escribir datos en formato JSON

El formato JSON (JavaScript Object Notation) es comúnmente utilizado para la transferencia de datos por la red, es un formato simple y muy utilizado en todo tipo de aplicaciones web para el intercambio de datos entre el cliente y el servidor de datos, para este tutorial vamos a escribir y leer datos almacenados en el disco local.

Utilizar el formato JSON en Python es muy fácil con el módulo json el cual cuanta con sus dos funciones principales, json.dumps() y json.loads(), para crear y cargar una estructura de datos en formato JSON.

Para el ejemplo vamos a crear una estructura de datos tipo diccionario, y utilizaremos la función dumps() para generar la cadena en formato JSON.

import json

datos = {
    'nombre' : 'Juan Perez',
    'edad'   : 18,
    'pais'   : 'Panama'
}

json_str = json.dumps(datos)

print('Datos en formato JSON:', json_str)

Para realizar el proceso inverso, es decir, tomar una cadena de texto en formato JSON y convertirla en una estructura tipo diccionario usamos loads().

str_json = """
    {
        "nombre": "Juan Perez",
        "edad": 18,
        "pais": "Panama"
    }
"""

json_dat = json.loads(str_json);

print("Objeto tipo diccionario:", json_dat)

Cuando deseemos leer o guardar un archivo en formato JSON usaremos las funciones dump() y load() nótese que son diferentes a las anteriores, estas no terminan en “s”.

Primero veamos como escribir un archivo en formato JSON, debemos indicarle a la función cuales son los datos que deseamos guardar y el archivo en el que lo haremos.

import json

datos = {
    'nombre' : 'Juan Perez',
    'edad'   : 18,
    'pais'   : 'Panama'
}

with open('datos.json', 'w') as file:
    json.dump(datos, file)

De modo similar leemos el archivo datos.json que acabamos de crear.

with open('datos.json', 'r') as file:
    data = json.load(file)
    print(data)

Como vemos leer o escribir datos en formato JSON es simple.

Comentarios

Entradas populares de este blog

Conectar SQL Server con Java

Entrenar OpenCV en Detección de Objetos

Detección de figuras geométricas

Procesamiento de imágenes en OpenCV

Conociendo la clase cv::Mat de OpenCV