Por ejemplo tenemos esta data en formato json:
import json data = {"nombre": "Juan", "edad": 25, "ciudad": "Madrid"}
Podemos convertir esta data en un objeto python:
json_data = json.dumps(data) print(json_data)
El resultado sería este:
ESCRIBIR SOBRE FICHERO JSON
También podemos escribir sobre un fichero json que en un principio está vacío:
Por tanto este sería el código para escribir sobre él:
data = {"nombre": "Juan", "edad": 25, "ciudad": "Madrid"} # Escribir un archivo JSON with open("data.json", "w") as f: json.dump(data, f)
Y si lo ejecutamos habremos escrito el contenido de la variable data dentro de json:
Y por ejemplo podemos leer el contenido de un json de esta forma:
# Leer un archivo JSON with open("data.json", "r") as f: data = json.load(f) print(data["ciudad"]) # Imprime "Madrid"
y leemos el resultado:
AGRUPAR EN LISTAS AQUELLOS JSON QUE TENGAN UN ELEMENTO EN COMÚN (Por ejemplo la fecha)
data = [ {"fecha": "07/12/2023", "edad": 25, "ciudad": "Madrid"}, {"fecha": "01/11/2022", "edad": 25, "ciudad": "Oviedo"}, {"fecha": "10/11/2023", "edad": 25, "ciudad": "León"}, {"fecha": "07/12/2023", "edad": 25, "ciudad": "Madrid"}, {"fecha": "01/11/2022", "edad": 25, "ciudad": "Oviedo"}, {"fecha": "10/11/2023", "edad": 25, "ciudad": "León"} ] fechas_dict = {} for dato in data: fecha = dato["fecha"] if fecha not in fechas_dict: fechas_dict[fecha] = [dato] # crea una nueva lista para la fecha else: fechas_dict[fecha].append(dato) # agrega el dato a la lista existente fechas_ordenadas = sorted(fechas_dict.items()) for fecha, datos in fechas_ordenadas: print(f"Fecha: {fecha}") for dato in datos: print(dato)
Por último, si quisiéramos leer la data de un archivo json, lo haríamos de esta forma:
import json with open('data.json', 'r') as f: data = json.load(f) fechas_dict = {} for dato in data: fecha = dato["fecha"] if fecha not in fechas_dict: fechas_dict[fecha] = [dato] # crea una nueva lista para la fecha else: fechas_dict[fecha].append(dato) # agrega el dato a la lista existente fechas_ordenadas = sorted(fechas_dict.items()) for fecha, datos in fechas_ordenadas: print(f"Fecha: {fecha}") for dato in datos: print(dato)





