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

Publicar un comentario

Temas relacionados

Entradas populares de este blog

tkinter Grid

Histogramas OpenCV Python

Modelo de Iluminación Phong - Tutorial OpenGL

tkinter Canvas